一种获取移动终端上应用程序耗电量的方法和装置的制造方法
【技术领域】
[0001]本发明涉及移动通信领域,具体涉及一种获取移动终端上应用程序耗电量的方法和装置。
【背景技术】
[0002]现有的移动终端是以智能终端,例如智能手机、平板电脑为主体的终端。这一类移动终端的特点是显示器件(例如,显示屏)比较大,可以运行丰富的应用程序(Applicat1n, APP)。正是由于这些特点,导致移动终端的电量消耗非常大,而由于受其先天的限制,移动终端的电池续航能力是有限的。因此,通过测试应用程序的耗电量,以技术手段减小移动终端应用程序的耗电量,从而优化应用程序的产品性能,一直是业界比较关注的问题。
[0003]现有的一种获取移动终端上应用程序耗电量的方法是使用一种称作电流仪的设备,配合假电池进行移动终端上应用程序耗电量的测试。
[0004]现有的获取移动终端上应用程序耗电量的方法,主要存在如下缺陷:
[0005]I)测试成本高。由于测试所需要的电流仪价格比较昂贵,例如,某种类型的电流仪单价20万左右,显然,成本过高。
[0006]2)可操作性不强。需要配合假电池,而有些移动终端的电池并不能拆卸,导致使用假电池操作起来比较复杂,而且对于需要在户外进行移动测试的场景,例如,对地图导航等应用程序耗电量的测试,携带电流仪也极为不便;
[0007]3)测试结果查看不便。对应用程序耗电量的测试结果往往显示在电流仪上,结果显示不仅不直观,而且在电流仪上显示,可能界面不友好,不及在移动终端上显示查看起来方便。
【发明内容】
[0008]本发明提供一种获取移动终端上应用程序耗电量的方法和装置,以较低的成本,方便地测量出移动终端上应用程序的耗电量。
[0009]本发明实施例提供一种获取移动终端上应用程序耗电量的方法,所述方法包括:
[0010]判断移动终端能否输出准确的电流值;
[0011]若所述移动终端能够输出准确的电流值,则测试程序以预先设置的采样频率对移动终端上运行的被测应用程序进行电流采样,所述测试程序安装运行在所述移动终端上;
[0012]根据所述电流采样得到的采样值,所述测试程序绘制所述被测应用程序的耗电量曲线图后在所述移动终端上显示。
[0013]本发明另一实施例提供一种获取移动终端上应用程序耗电量的装置,所述装置包括测试程序和判断模块,所述测试程序包括采样模块和第一绘制模块;
[0014]所述判断模块,用于判断移动终端能否输出准确的电流值;
[0015]所述采样模块,用于若所述判断模块判断所述移动终端能够输出准确的电流值,则以预先设置的采样频率对移动终端上运行的被测应用程序进行电流采样,所述测试程序安装运彳丁在所述移动终端上;
[0016]所述第一绘制模块,用于根据所述电流采样得到的采样值,绘制所述被测应用程序的耗电量曲线图后在所述移动终端上显示。
[0017]从上述本发明实施例可知,一方面,在测试应用程序耗电量时,只需要测试程序以预先设置的采样频率对移动终端上运行的被测应用程序进行电流采样,而测试程序安装运行在移动终端上,即,在对电流采样时,无需额外增加昂贵的仪器设备,不仅成本低廉,而且对用户而言,操作起来非常便捷;另一方面,测试结果以耗电量曲线图的方式显示在移动终端上,不仅显示结果直观,而且查看方便,也间接地降低了测试的人力成本。
【附图说明】
[0018]图1是本发明实施例提供的获取移动终端上应用程序耗电量的方法的基本流程不意图;
[0019]图2是本发明实施例提供的绘制得到被测应用程序的耗电量曲线图后在移动终端上显示的示意图
[0020]图3是本发明实施例提供的获取移动终端上应用程序耗电量的装置逻辑结构示意图;
[0021]图4是本发明另一实施例提供的获取移动终端上应用程序耗电量的装置逻辑结构示意图;
[0022]图5是本发明另一实施例提供的获取移动终端上应用程序耗电量的装置逻辑结构示意图;
[0023]图6_a是本发明另一实施例提供的获取移动终端上应用程序耗电量的装置逻辑结构示意图;
[0024]图6_b是本发明另一实施例提供的获取移动终端上应用程序耗电量的装置逻辑结构示意图;
[0025]图6-c是本发明另一实施例提供的获取移动终端上应用程序耗电量的装置逻辑结构示意图。
【具体实施方式】
[0026]本发明提供一种获取移动终端上应用程序耗电量的方法,所述方法包括:判断移动终端能否输出准确的电流值;若所述移动终端能够输出准确的电流值,则测试程序以预先设置的采样频率对移动终端上运行的被测应用程序进行电流采样,所述测试程序安装运行在所述移动终端上;根据所述电流采样得到的采样值,所述测试程序绘制所述被测应用程序的耗电量曲线图后在所述移动终端上显示。本发明还提供相应的获取移动终端上应用程序耗电量的装置。以下分别进行详细说明。
[0027]请参阅附图1,是本发明实施例提供的获取移动终端上应用程序耗电量的方法的基本流程,其可以应用于Andr1d等操作系统的移动终端,主要包括步骤SlOl至步骤S103,详细说明如下:
[0028]S1I,判断移动终端能否输出准确的电流值。
[0029]移动终端能否输出准确的电流值,是能否准确测出应用程序耗电量的前提。对于出厂合格的移动终端,可直接判断为是可以输出准确的电流值的移动终端。另一种判断移动终端能否输出准确的电流值的简单方式是:测试人员可以先查看移动终端电池的标称容量,若获知了该移动终端的屏幕点亮时的电量消耗,则只点亮屏幕(而不开启其他应用程序)一段时间,通过该段时间消耗的电量即可判断移动终端能否输出准确的电流值。例如,某个移动终端电池的标称容量是2000毫安时,该移动终端电池的屏幕点亮时的电量消耗是400毫安分钟,则在该移动终端电池充满后,持续点亮该移动终端屏幕5分钟,若电池的剩余电量为98%左右,则大致可以判断移动终端能够输出准确的电流值。对于一些典型型号的移动终端,例如,Google Nexus4、Google Nexus5等,可以通过命令/sys/class/power_supply/battery/uevent获取电流值,从而判断移动终端能否输出准确的电流值。
[0030]S102,若移动终端能够输出准确的电流值,则测试程序以预先设置的采样频率对移动终端上运行的被测应用程序进行电流采样,测试程序安装运行在移动终端上。
[0031]在本发明实施例中,测试程序和被测应用程序都安装运行在移动终端上,其中,测试程序可以是随身调测平台即随身调(GT)。所谓随身调(GT),是直接运行在移动终端上的集成调测环境(Integrated Debug&Test Environment, IDTE)。利用GT,仅凭一部移动终端而无需连接电脑,软件开发/测试人员即可对应用程序进行快速的性能测试(例如CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash日志查看、网络数据包的抓取和应用程序内部参数的调试、真机代码耗时统计等等,GT的最大优点在于软件开发/测试人员可以在任意真实场所、任何时候进行如上一系列事情,实现应用程序(APP)的场测。
[0032]在本发明实施例中,被测应用程序运行时,其对应移动终端上若干工作的硬件模块。例如,对于一个正在运行的导航应用程序,其对应的硬件模块包括CPU/GPU、GPS模块和屏幕等。测试程序以预先设置的采样频率对移动终端上运行的被测应用程序进行电流采样,实际上是测试程序以预先设置的采样频率,对这些工作的硬件模块的输出电流进行采样。
[0033]在本发明一个实施例中,采样频率量纲为次/秒,采样频率可以为[4,10]中的任意值,例如,对于某些类型的移动终端,进行电流采样时以10次/秒的采样频率就足以捕获到移动终端的电流变化。
[0034]S103,根据电流采样得到的采样值,测试程序绘制被测应用程序的耗电量曲线图后在移动终端上显不。
[0035]在本发明实施例中,被测应用程序的耗电量曲线图,其横轴为采样时刻,纵轴为电流值,附图2是绘制得到被测应用程序的耗电量曲线图后在移动终端上显示的一个实施例。
[0036]根据电流采样得到的采样值,测试程序绘制被测应用程序的耗电量曲线图后在移动终端上显示的同时,获取移动终端上应用程序耗电量的方法还可以包括S1031和S1032:
[0037]S1031,测试程序记录硬件模块在被测应用程序运行期间的使用状况信息。
[0038]在本发明实施例中,硬件模块在被测应用程序运行期间的使用状况信息可以是某个硬件模块对应的某种方法在单位时间内调用的次数、CPU在每一秒的占用百分比或者某个硬件模块对应的、和耗电强相关的方法调用的次数,等等。
[0039]S1032,根据使用状况信息,测试程序以前述得到的耗电量曲线图的横轴为横轴,绘制硬件模块的使用状况曲线图后在移动终端上显示,其中,使用状况曲线图的纵轴为硬件模块的使用状况信息。
[0040]测试程序之所以以前述得到的耗电量曲线图的横轴为横轴,是因为考虑到时间对齐便于比较。实际上,当以前述得到的耗电量曲线图的横轴为横轴,绘制硬件模块的使用状况曲线图时,对比电流波动和若干个硬件模块的曲线或点,可以甄别出同一时刻或时间段,耗电的主要硬件模块和次要硬件模块。
[0041]需要说明的是,在附图1示例的获取移动终端上应用程序耗电量的方法中,可以是对同一款被测应用程序在功能优化前后进行的若干次的耗电量测试,也可以是类似被测应用程序之间的耗电量对比测试。在对类似被测应用程序之间进行耗电量对比测试时,需要保证这些被测应用程序测试环境的公平一致,因此,经常采用几台同样的移动终端同时运行几个对比的被测应用程序的方式。这种同场景同时测试的情况,需要提前对移动终端进行校准,保证选出的几个移动终端的主要耗电模块(例如网络模块、GPS模块、CPU/GPU和屏幕等)在经典耗用场景下近似一致。
[0042]如前所述,测试程序和被测应用程序都安装运行在同一移动终端上,因此,采样的电流值实际上包含了移动终端耗电净值