Android终端应用程序功耗监控的方法和装置制造方法及图纸

技术编号:7038842 阅读:707 留言:0更新日期:2012-04-11 18:40
本发明专利技术揭示了一种Android终端应用程序功耗监控的方法,包括:通过预设的监控点捕获应用程序的行为;收集所述应用程序的行为的功耗数据;根据所述功耗数据,分析所述应用程序的功耗,并将分析结果显示于Android终端。本发明专利技术还提供了对应的装置。本发明专利技术提供的一种Android终端应用程序功耗监控的方法和装置,解决Android终端由于应用程序的行为而增大功耗的问题。

【技术实现步骤摘要】

本专利技术涉及到,特别涉及到一种Android终端应用程序功耗监控的方法和装置
技术介绍
功耗一直是智能移动设备所重点关心的关键技术指标,功耗的好坏直接决定了一款智能移动产品的核心竞争力。功耗的优化可以从硬件、驱动、系统软件和应用程序等方面进行。Android终端产品出厂前,设备制造商会在硬件、驱动和系统软件层面对功耗进行优化,做到性能和功率消耗的最优平衡,但对于应用程序的功耗无法控制,用户经常发现Android终端在安装大量应用程序后,待机时间急剧下降。最新的数据显示Android的免费应用数量已经达到13. 4万。免费应用程序的增长虽然可以让用户的体验得到极大的丰富和扩展,但同时,由于某些不被监督和管理的免费软件在编程开发过程中,只考虑其功能而不考虑对软硬件资源的节约利用,使得这些免费应用程序在运行时造成用户的Android终端功耗急剧恶化,比如很多免费游戏代码的执行效率很低,用户在玩这些游戏时,CPU资源长期处于 100%运转,无法进入idle节能状态,还有一些软件为了防止掉线,会长期持有Android系统的睡眠锁,导致系统无法在系统闲置时进入睡眠模式,或者还有一些应用程序在用户并不知情的时候访问WIFI、BT和3G等无线网络,使功耗较高的射频模块频繁处于高负荷状态,上述各种情况都会急剧恶化Android终端功耗从而缩短整机的电池待机时间。
技术实现思路
本专利技术的主要目的为提供一种Android终端应用程序功耗监控的方法和装置,解决Android终端由于应用程序的行为而增大功耗的问题。本专利技术提出一种Android终端应用程序功耗监控的方法,包括通过预设的监控点捕获应用程序的行为;收集所述应用程序的行为的功耗数据;根据所述功耗数据,分析所述应用程序的功耗,并将分析结果显示于Android终端。优选地,在执行所述将分析结果显示于Android终端之后,还包括对满足预设的告警规则的应用程序,发出告警。优选地,在执行所述通过预设的监控点捕获应用程序的行为之前,还包括设置捕获应用程序行为的监控点。优选地,所述根据功耗数据,分析应用程序的功耗,包括对所述功耗数据进行排序和检索;统计所述排序和检索后的功耗数据。优选地,所述统计排序和检索后的功耗数据具体为通过用户界面接受应用程序功耗统计的设置;根据所述设置进行统计逻辑计算。本专利技术还提出一种Android终端应用程序功耗监控的装置,包括捕获模块,用于通过预设的监控点捕获应用程序的行为;收集模块,用于收集所述应用程序的行为的功耗数据;分析模块,用于根据所述功耗数据,分析所述应用程序的功耗,并将分析结果显示于Android终端。优选地,所述装置还包括告警模块,用于对满足预设的告警规则的应用程序,发出告警。优选地,所述装置还包括设置模块,用于设置捕获应用程序行为的监控点。优选地,所述分析模块包括数据挖掘单元,用于对所述功耗数据进行排序和检索;UI单元,用于统计所述排序和检索后的功耗数据。优选地,所述UI单元包括UI设置子单元,用于通过用户界面接受应用程序功耗统计的设置;统计子单元,用于根据所述设置进行统计逻辑计算。本专利技术提出的一种Android终端应用程序功耗监控的方法和装置,通过设置监控点,监控Android终端内应用程序的行为,并对监控后的数据进行分析处理,使得因应用程序行为而恶化Android终端功耗的问题得到有效控制,提高了用户体验度。附图说明图1为本专利技术Android终端应用程序功耗监控的方法的流程示意图;图2为本专利技术Android终端应用程序功耗监控的方法中应用程序行为捕获的示意图;图3为本专利技术Android终端应用程序功耗监控的方法中数据收集服务的示意图;图4为本专利技术Android终端应用程序功耗监控的方法中UI界面的示意图;图5为本专利技术Android终端应用程序功耗监控的装置的结构示意图;图6为本专利技术Android终端应用程序功耗监控的装置中分析模块的结构示意图7为本专利技术Android终端应用程序功耗监控的装置中UI单元的结构示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施例方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。参照图1,提出本专利技术Android终端应用程序功耗监控的方法一实施例,包括步骤S101、设置捕获应用程序行为的监控点。监控点是对应用程序进行功耗监控的基础数据源,每个监控点都需要知道当前所监控的应用程序的行为、PID(进程编号)和持续的时间。监控点的类型主要有CPU占用率、不释放睡眠锁、电话服务(手机)、界面置顶、网络使用、开屏幕、使用WIFI、使用BT、使用APN和/或使用GPS。由于监控点所监控的行为都是系统核心的业务逻辑,所以需要修改Android系统的framework的代码来实现。各个监控点可由相关的研发人员定义权重,根据实际开发过程中,各个监控点的行为所造成电流的增减情况来决定,例如CPU处于idle (闲置)或100%运转一定时间的功耗增加,以及系统长时间不睡眠导致的功耗增加相比,哪一个功耗增加更多,则权重就更大。步骤S102、通过预设的监控点捕获应用程序的行为;为了监控应用程序的各种功率消耗的行为,要针对各种不同的行为在Android系统framework内安插一些行为捕捉代码,如图2所示,具体监控点的作用如下(I)PowerManagerService 可捕获任何应用程序持有和释放睡眠锁的时间点,是 android系统的电源管理服务,在此处设置监控点可捕获每个应用程序获得和释放睡眠锁的时间。(2)监控位于systemserver进程的各个关键服务MediaPlayerService 捕获播放媒体的行为。WifiService 捕获打开或关闭wifi的行为。SettingProvider 捕获打开或关闭GPS的行为。ConnectivityService 捕获APN网络连接和断开的行为。BluetoothService 捕获BT的打开和关闭行为。(3)在应用程序所使用的基类中加入监控。OSNetworkSystem. Java 应用程序TCP连接所需要使用的基类,监控应用的网络流量。Activity, java 应用程序所有Acitivity界面的基类,可以监控应用的显示隐藏,从而可以得到该应用的前台使用频率。(4)另外的监控点可以是Iinux操作系统暴露出来的proc接口 /proC/<pid>/ stat 可以获取每个应用程序对CPU的占用时间。步骤S103、收集所述应用程序的行为的功耗数据;数据收集服务和数据库的主要功能是数据保存和数据挖掘。当设置好监控点并获得所需的关键数据后,需要一个统一的数据上报接口帮助各个监控点将监控的数据发送到数据收集服务和数据库中。由于监控点的实现代码散落在系统的各个角落的java文件中,为了让所有的数据都能访问数据上报接口,需要把数据上报接口的java代码实现在 framework的源码中。如图2所示,pcvalue. java即数据上报接口所处的位置,主要实现如下函数接口pub lie static boolean Inser tPo werCons ump t ionRec ore d (Co本文档来自技高网...

【技术保护点】
1.一种Android终端应用程序功耗监控的方法,其特征在于,包括:通过预设的监控点捕获应用程序的行为;收集所述应用程序的行为的功耗数据;根据所述功耗数据,分析所述应用程序的功耗,并将分析结果显示于Android终端。

【技术特征摘要】

【专利技术属性】
技术研发人员:曾慧鹏
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1