首页 / 专利库 / 电信 / 数据通信总线 / 串行总线 / 通用串行总线 / 一种检测移动终端应用程序中函数耗电量的方法及装置

一种检测移动终端应用程序中函数耗电量的方法及装置

阅读:489发布:2020-05-08

专利汇可以提供一种检测移动终端应用程序中函数耗电量的方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 涉及应用程序耗电量检测技术领域,特别是一种检测移动终端应用程序中函数耗电量的方法及装置,该方法包括:获取移动终端在预设时间段内的电量数据,监测在该预设时间段内应用程序中函数的开始执行时刻和结束执行时刻;根据所述电量数据、所述开始执行时刻和所述结束执行时刻对应在时间轴上的 位置 ,确定所述函数在开始执行时刻至结束执行时刻时间段内的耗电量。本发明在不 修改 或者重新编译待测应用程序的情况下,实现了从第三方的 角 度检测应用程序中具体函数的耗电量。,下面是一种检测移动终端应用程序中函数耗电量的方法及装置专利的具体信息内容。

1.一种检测移动终端应用程序中函数耗电量的方法,其特征在于,包括:
计算机终端获取移动终端在预设时间段内的电量数据及在该预设时间段内移动终端应用程序中函数的开始执行时刻和结束执行时刻,其中,所述开始执行时刻和结束执行时刻由所述移动终端监测获得,所述移动终端和所述计算机终端的时间同步,所述电量数据由电量检测仪监测获得,所述电量数据包括时间点和与所述时间点对应的电量值,所述时间点为从零开始的相对时间;
将所述函数的开始执行时刻、结束执行时刻和所述电量数据的时间点做统一时间轴处理,并将所述电量数据加载到所述时间轴上;
根据开始执行时刻和结束执行时刻对应在时间轴上的位置,确定开始执行时刻对应的电量值和结束执行时刻对应的电量值,将结束执行时刻对应的电量值减去开始执行时刻对应的电量值,得到所述函数在开始执行时刻至结束执行时刻时间段内的耗电量。
2.根据权利要求1所述的方法,其特征在于,在将所述电量数据加载到时间轴上之前还包括:以0为起点,建立时间轴。
3.根据权利要求2所述的方法,其特征在于,所述根据开始执行时刻和结束执行时刻对应在时间轴上的位置,确定开始执行时刻对应的电量值和结束执行时刻对应的电量值包括:
将开始执行时刻减去所述预设时间段的起始时刻,得到与开始执行时刻对应的开始执行时间点,将结束执行时刻减去预设时间段的起始时刻,得到与结束执行时刻对应的结束执行时间点;
根据所述开始执行时间点对应在所述时间轴上的位置,确定开始执行时刻对应的电量值,根据所述结束执行时间点对应在所述时间轴上的位置,确定结束执行时刻对应的电量值。
4.根据权利要求1所述的方法,其特征在于,
在将所述电量数据加载到时间轴上之前还包括:以某一时刻为起点,建立时间轴,所述时间轴的起点早于所述预设时间段的起始时刻。
5.根据权利要求4所述的方法,其特征在于,
所述将所述电量数据加载到时间轴上包括:将电量数据中的时间点换算成时间轴上的时刻,将与所述时间点对应的电量值加载到时间轴上。
6.根据权利要求5所述的方法,其特征在于,所述将电量数据中的时间点换算成时间轴上的时刻包括:
通过以下公式将所述电量数据中的时间点转换成时刻,所述时刻即为该时间点对应在所述时间轴上的时刻,
其中,T1表示所述预设时间段的起始时刻,T2表示所述预设时间段的结束时刻,n表示电量数据中时间点的总个数,n为整数且n>1,Tm表示第m个时间点对应的时刻,m≤n,所述时间点对应的时刻为该时间点对应在所述时间轴上的时刻。
7.一种检测移动终端应用程序中函数耗电量的装置,其特征在于,包括:
移动终端,用于获取预设时间段内应用程序中函数的开始执行时刻和结束执行时刻,并将所述开始执行时刻和结束执行时刻发送给计算机终端;
电量检测仪,其分别通过电源线和第二通用串行总线与所述移动终端连接,用于为移动终端供电以及监测移动终端在所述预设时间段内的电量数据,所述电量数据包括时间点和与时间点对应的电量值,所述时间点为从零开始的相对时间;
计算机终端,其通过第一通用串行总线与电量检测仪连接,用于控制所述电量检测仪监测移动终端的电量数据,以及将所述函数的开始执行时刻、结束执行时刻和所述电量数据的时间点做统一时间轴处理,并将所述电量数据加载到所述时间轴上,根据所述开始执行时刻和所述结束执行时刻对应在时间轴上的位置,确定开始执行时刻对应的电量值和结束执行时刻对应的电量值,将结束执行时刻对应的电量值减去开始执行时刻对应的电量值,得到所述函数在开始执行时刻至结束执行时刻时间段内的耗电量;
其中,所述移动终端和所述计算机终端的时间同步。
8.根据权利要求7所述的装置,其特征在于,所述电量检测仪还用于控制所述计算机终端与移动终端之间的传输信号的断开和连接;
当所述计算机终端控制电量检测仪开始监测移动终端的电量数据时,所述计算机终端与移动终端之间的传输信号断开;
当所述计算机终端控制电量检测仪停止监测移动终端的电量数据时,所述计算机终端与移动终端之间的传输信号重连。
9.根据权利要求8所述的装置,其特征在于,
所述计算机终端,还用于以0为起点,建立时间轴。
10.根据权利要求9所述的装置,其特征在于,
所述计算机终端,还用于将开始执行时刻减去所述预设时间段的起始时刻,得到与开始执行时刻对应的开始执行时间点,将结束执行时刻减去预设时间段的起始时刻,得到与结束执行时刻对应的结束执行时间点,以及根据所述开始执行时间点对应在所述时间轴上的位置,确定开始执行时刻对应的电量值,根据所述结束执行时间点对应在所述时间轴上的位置,确定结束执行时刻对应的电量值。
11.根据权利要求8所述的装置,其特征在于,
所述计算机终端,还用于以某一时刻为起点,建立时间轴,所述时间轴的起点早于所述预设时间段的起始时刻。
12.根据权利要求11所述的装置,其特征在于,
所述计算机终端,还用于通过以下公式将所述电量数据中的时间点换算成时间轴上的时刻,并将与所述时间点对应的电量值加载到时间轴上;
其中,T1表示所述预设时间段的起始时刻,T2表示所述预设时间段的结束时刻,n表示电量数据中时间点的总个数,n为整数且n>1,Tm表示第m个时间点对应的具体时刻,m≤n。
13.一种计算机存储介质,其特征在于,所述存储介质包括若干指令,所述若干指令用以使得终端设备执行如权利要求1-6任意一项所述的检测移动终端应用程序中函数耗电量的方法。

说明书全文

一种检测移动终端应用程序中函数耗电量的方法及装置

技术领域

[0001] 本发明涉及应用程序耗电量检测技术领域,特别是一种检测移动终端应用程序中函数耗电量的方法及装置。

背景技术

[0002] 随着移动终端的发展,APP应用的数量急剧增加,应用软件在给用户带来便捷的同时,因消耗电量越来越多,成为令用户头疼的问题。
[0003] 现有检测应用程序耗电量的技术可通过硬件完成,即:将移动终端与电量检测仪(Power Monitor,简称PM)连接,在移动终端上运行app,电量检测仪器可以实时显示移动终端的电量消耗情况,这种检测方法较为简单,能够检测固定场景下移动终端的总电量消耗情况,但如果遇到电量偏高的场景,该方法则无法定位应用程序具体的代码或者对应的函数,并且,如果具体函数通过多线程并发调用,电量检测仪所得的电量数据会不准确。
[0004] 此外,采用上述方式测试Android手机中app耗电量时,需要具备Root的权限,对于待测的Android应用,需要知道具体的类(class)和函数名(method),才能通过脚本对具体函数的执行时间段进行记录,增加了检测难度,并且检测的电量数据有偏差。

发明内容

[0005] 为了克服现有技术缺陷,本发明提供一种检测应用程序中函数耗电量的方法及装置,可以不修改或者重新编译待测试的应用程序,从第三方的度来测试应用程序中具体函数的耗电量。
[0006] 本发明采用技术方案如下:
[0007] 一种检测移动终端应用程序中函数耗电量的方法,包括:
[0008] 获取移动终端在预设时间段内的电量数据,监测在该预设时间段内应用程序中函数的开始执行时刻和结束执行时刻,所述电量数据包括时间点和与所述时间点对应的电量值,所述时间点为从零开始的相对时间;
[0009] 将所述电量数据加载到时间轴上;
[0010] 根据开始执行时刻和结束执行时刻对应在时间轴上的位置,确定开始执行时刻对应的电量值和结束执行时刻对应的电量值,将结束执行时刻对应的电量值减去开始执行时刻对应的电量值,得到所述函数在开始执行时刻至结束执行时刻时间段内的耗电量。
[0011] 相应地,本发明还提供了一种检测移动终端应用程序中函数耗电量的装置,包括:
[0012] 移动终端,用于获取预设时间段内应用程序中函数的开始执行时刻和结束执行时刻,并将所述开始执行时刻和结束执行时刻发送给计算机终端;
[0013] 电量检测仪,其分别通过电源线和第二通用串行总线与所述移动终端连接,用于为移动终端供电以及监测移动终端在所述预设时间段内的电量数据;
[0014] 计算机终端,其通过第一通用串行总线与电量检测仪连接,用于控制所述电量检测仪监测移动终端的电量数据,以及将所述电量数据加载到时间轴上,根据所述开始执行时刻和所述结束执行时刻对应在时间轴上的位置,确定开始执行时刻对应的电量值和结束执行时刻对应的电量值,将结束执行时刻对应的电量值减去开始执行时刻对应的电量值,得到所述函数在开始执行时刻至结束执行时刻时间段内的耗电量。
[0015] 进一步地,所述移动终端和所述计算机终端的时间同步。
[0016] 本发明的有益效果是:
[0017] 本发明通过计算机终端控制电量检测仪监测移动终端的电量数据,同时,移动终端监控应用程序中具体函数的开始执行时刻和结束执行时刻。由于移动终端和计算机终端的时间同步,所以当测试结束后,计算机终端可以通过整理函数从开始执行时刻至结束执行时刻的时间段,以及该时间段内电量检测仪检测的电量数据,来获得该函数在执行时间段内消耗的电量。
[0018] 在检测前,计算机终端预先模拟测试场景,排除检测过程中无法定位具体函数的险,实现了特定场景下的函数耗电量检测,提高了检测结果的准确性。
[0019] 本发明可实现了在不修改或者重新编译待测应用程序的情况下,从第三方的角度检测应用程序中具体函数的耗电量,具有容易实施的优点。附图说明
[0020] 为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0021] 图1是本发明实施例一的计算机终端的硬件结构框图
[0022] 图2是本发明实施例一的函数耗电量检测方法的流程图
[0023] 图3是本发明实施例一的函数耗电量检测方法的执行流程图;
[0024] 图4是本发明实施例二的函数耗电量检测方法的流程图;
[0025] 图5是本发明实施例三的函数耗电量检测方法的流程图;
[0026] 图6是本发明的函数耗电量检测装置的示意图。

具体实施方式

[0027] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0028] 实施例一:
[0029] 本发明提供一种检测移动终端应用程序中函数耗电量的方法,需要说明的是,附图中流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0030] 本发明实施例的整体测试环境如下:
[0031] 一台用于获取移动终端电量数据的装置,该装置可以是电量检测仪(Power Monitor,简称PM),电量检测仪可以为供电电压小于4V的任意移动设备供电,且可结合自带的监控软件,在供电过程中监控移动设备在指定时间段内的电量数据,电量检测仪上具有电源线接口和USB接口。
[0032] 一个安装Android系统的移动终端,可以是Android手机,所述手机具备Root 权限并安装用于改写应用程序的框架插件,如Xposed框架或cydia substrate插件。
[0033] 一台数据处理装置,可以为移动终端、计算机终端或者类似的运算装置,优选为安装windows系统的计算机终端(如个人计算机PC),且该计算机终端上安装Power Monitor相关的监控软件。图1是本发明的函数耗电量检测方法的计算机终端的硬件结构框图。如图1 所示,计算机终端100可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、通用串行总线控制器106以及一个或多个用于连接通用串行总线的USB接口108。本领域普通技术人员可以理解,图1 所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端100还可包括比图1 中所示更多或者更少的组件,或者具有与图1 所示不同的配置。
[0034] 存储器104可用于存储应用软件的软件程序以及模,如本发明实施例中的函数耗电量检测方法对应的程序指令/模块,处理器102通过运行存储在存储器 104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的函数耗电量检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0035] 上述硬件中,计算机终端的时间与移动终端的时间时间同步。计算机终端通过USB连接电量检测仪,电量检测仪通过USB连接手机,同时,电量检测仪通过电源线与手机连接并为手机供电。电量检测仪可以通过软件控制计算机终端与手机之间的信号连通和断开。计算机终端可以通过电量检测仪安装的软件来控制电量检测仪开始和结束监控。
[0036] 下面结合上述运行环境来对本发明方法的流程进行说明。参见图2,本发明的检测移动终端应用程序中函数耗电量的方法包括:
[0037] S201、获取移动终端在预设时间段内的电量数据,监测在该预设时间段内应用程序中函数的开始执行时刻和结束执行时刻,所述电量数据包括时间点和与所述时间点对应的电量值,所述时间点为从零开始的相对时间;
[0038] S202、将所述电量数据加载到时间轴上;
[0039] S203、根据开始执行时刻和结束执行时刻对应在时间轴上的位置,确定开始执行时刻对应的电量值和结束执行时刻对应的电量值,将结束执行时刻对应的电量值减去开始执行时刻对应的电量值,得到所述函数在开始执行时刻至结束执行时刻时间段内的耗电量。
[0040] 参见图3示出了上述方法的具体执行流程,该流程大致分为三个阶段,即准备阶段、执行阶段和数据整理阶段。
[0041] (一)准备阶段
[0042] PC端选择具体的待测apk(Android Package,Android安装包),通过adb (Android Debug Bridge,用于调试Android程序)将本地apk软件安装至android 手机。PC端预先设计测试脚本,并将测试脚本拷贝至android手机临时目录。
[0043] 手动设置Power Monitor为手机供电的电压,并启用Power Monitor开始为手机供电,同时启动监控软件界面。
[0044] 保持Android手机Xposed的功能启用,并安装Xposed插件,插件用于监控待测app对应的函数开始执行、结束执行的时间,当检测到app运行时调用具体的函数,插件会将函数开始执行和结束执行的时间保存到手机的指定目录。手机保持待机状态,调整手机时间和PC时间一致。
[0045] (二)执行测试阶段
[0046] PC端首先通过adb运行测试脚本,模拟具体的测试场景;然后通过软件控制Power Monitor监控启动,Power Monitor开始对Android手机进行监控,同时,Power Monitor通过软件控制PC和Android手机之间的通信信号断开;随后根据预设时间段开始倒计时,记录开始倒计时的时间点(即预设时间段的起始时刻),等倒计时结束时,控制Power Monitor停止监控,停止监控后,Power Monitor 通过软件控制PC和Android手机之间的通信信号重连,PC和Android手机可以通过USB传输数据。
[0047] 在Power Monitor对手机进行监控期间,Android手机启动Uiautomator脚本 (自动化框架Uiautomator支持USB断开后执行工作),app运行并调用具体函数,Xposed插件监控具体函数的开始执行时间和结束执行时间,生成函数监控日志。同时,在监控期间,Power Monitor记录手机的电量数据,生成电量监控日志。之后,PC端将Power Monitor监控得到电量监控日志导出到指定目录(例如,日志为wesecure_pm_log.csv)。通过adb将Xposed插件生成的函数监控日志从Android 手机导出到PC的指定目录(例如,日志为wesecure_xposed_functions_times.txt)。
[0048] (三)数据整理阶段
[0049] PC端将函数监控日志和电量监控日志中相关的时间数据做统一时间轴的处理。如wesecure_pm_log.csv中的时间是以start_time时间为0开始的相对时间,而wesecure_xposed_functions_times.txt中记录的时间是实际时间,根据开始倒计时的时间点可以将wesecure_pm_log.csv中的时间换算成实际时间,从而获得 wesecure_xposed_functions_times.txt中各时刻对应的电量值,通过将函数的结束执行时间对应的电量值与开始执行时间对应的电量值作差值,即可得到函数执行期间消耗的电量值,最后将电量值存入数据库,方便与后续版本的数据进行对比。
[0050] 本发明通过在移动终端安装监测应用程序,添加对待测应用程序的监控插件,在移动终端执行测试脚本时,监控插件会自动记录待测应用程序中具体函数的开始执行时刻和结束执行时刻,同时运行电量检测仪来监测电量数据。由于移动终端和计算机终端的时间是同步的,所以当测试结束后,计算机终端通过整理监控插件统计的函数从开始执行时刻至结束执行时刻的时间段,以及该时间段内电量检测仪检测的电量数据,即可获得该函数在执行时间段内消耗的电量。
[0051] 本发明可以在不修改apk的情况下测得待测应用程序中具体函数的开始执行时刻和结束执行时刻,实现了不修改或者重新编译待测应用程序,从第三方的角度来测试应用程序中具体函数的耗电量,具有容易实施的优点。
[0052] 实施例二:
[0053] 图4是本实施例的函数耗电量检测方法的流程图,下面结合具体的测试产品和测试场景对该方法进行详细说明。
[0054] 测试产品为手机安全类应用SafeTest.apk,用于针对手机上的应用进行安全扫描,并判断是否有应用存在风险(计算所有应用MD5值,之后将MD5发送到服务器查看是否是危险应用)。该应用具有一个具体函数APKsMD5Cal(),用于计算手机中所有已安装应用的MD5值。
[0055] 测试场景:android手机安装50款应用,运行SafeTest.apk,扫描所有应用,假设扫描需要时间30秒。
[0056] 所述方法包括:
[0057] S401、以某一时刻为起始点,建立时间轴。
[0058] 具体为:以某个具体时刻为起始点,建立时间轴。从所述时间轴上选择两个时刻,将两个时刻中较早的一个时刻作为预设时间段的起始时刻、较晚的一个时刻作为所述时间段的结束时刻。本实施例以时刻10:00为起始点建立时间轴,从时间轴上选择一时间段作为预设时间段,其中,预设时间段的起始时刻为10: 10,结束时刻为10:11,预设时间段时长1分钟。
[0059] S402、获取移动终端在预设时间段内的电量数据,监测在该预设时间段内应用程序中函数的开始执行时刻和结束执行时刻。
[0060] 具体地,监测移动终端在预设时间段(10:10至10:11)内的电量数据并存储,所述电量数据包括时间点和电量值,其中,时间点以相对时间(即以0开始计时)表示,每个时间点对应一个电量值,如表1所示。
[0061] 时间点 第0s 第10s 第20s 第30s 第40s 第50s 第60s电量值 0.0mA 0.2mA 0.4mA 0.6mA 0.7mA 0.8mA 0.9mA
[0062] 表1:
[0063] 监测预设时间段内应用程序中函数的开始执行时刻和结束执行时刻,所述开始执行时刻和结束执行时刻均为实际时间,本实施例中,假设监测得函数 APKsMD5Cal()的开始执行时刻为10:10:20,结束执行时刻为10:10:50。
[0064] S403、将电量数据加载到时间轴上。
[0065] 具体地,首先将电量数据中的时间点换算成实际时刻,然后将时间点对应的电量值加载到时间轴上,如图4所示。其中,将时间点换算成实际时刻可通过以下公式实现,[0066]
[0067] 其中,T1表示预设时间段的起始时刻,T2表示预设时间段的结束时刻,n表示电量数据中时间点的总个数,n为大于1的整数,Tm表示第m个时间点对应的具体时刻,m≤n;换算所得的实际时刻即为时间点对应在时间轴上的时刻。上述表1中时间点换算后的对应关系如表2所示。
[0068] 表2:
[0069]
[0070] S404、根据所述开始执行时刻和所述结束执行时刻对应在时间轴上的位置,确定所述函数在开始执行时刻至结束执行时刻时间段内的耗电量。
[0071] 具体地,根据函数的开始执行时刻和结束执行时刻对应在时间轴上的位置,确定开始执行时刻对应的电量值和结束执行时刻对应的电量值,将结束执行时刻对应的电量值减去开始执行时刻对应的电量值,得到所述函数在开始执行时刻至结束执行时刻时间段内的耗电量。本实施例中,函数APKsMD5Cal()的开始执行时刻10:10:20对应的电量值为0.4mA,结束执行时刻10:10:50对应的电量值为 0.8mA,则从开始执行到结束执行时间段内该支付函数耗电量为0.4mA。
[0072] 实施例三:
[0073] 图5是本实施例的函数耗电量检测方法的流程图,该方法包括:
[0074] S501、获取移动终端在预设时间段内的电量数据,监测在该预设时间段内应用程序中函数的开始执行时刻和结束执行时刻。
[0075] 具体地,预先确定一预设时间段,获取移动终端在预设时间段内的电量数据,监测在该预设时间段内应用程序中函数的开始执行时刻和结束执行时刻。其中,该预设时间段至少包括具体的起始时刻和时间长度。
[0076] S502、建立时间轴。
[0077] 具体地,以0为起点,建立时间轴。
[0078] S503、将电量数据加载到时间轴上。
[0079] 由于时间轴是以0为起点,因而电量数据中的时间点不必经过换算就能与时间轴上的具体位置对应,直接将时间点对应的电量值加载到时间轴上。
[0080] S504、根据所述开始执行时刻和所述结束执行时刻对应在时间轴上的位置,确定所述函数在开始执行时刻至结束执行时刻时间段内的耗电量。
[0081] 具体地,因为函数的开始执行时刻和结束执行时刻是具体的时间,与时间轴上的时间表示不一致,因而首先需要将具体的时间换算成相对时间,从而找到开始执行时刻和结束执行时刻对应在时间轴上的位置。其换算方法为:将开始执行时刻减去预设时间段的起始时刻,得到与开始执行时刻对应的开始执行时间点,将结束执行时刻减去预设时间段的起始时刻,得到与结束执行时刻对应的结束执行时间点。然后,根据所述开始执行时间点对应在所述时间轴上的位置,确定开始执行时刻对应的电量值,根据所述结束执行时间点对应在所述时间轴上的位置,确定结束执行时刻对应的电量值;最后,将结束执行时刻对应的电量值减去开始执行时刻对应的电量值,得到所述函数在开始执行时刻至结束执行时刻时间段内的耗电量。
[0082] 使用上述方法分别测试手机安全类应用不同的两个版本,版本1: SafeTest_release.apk,版本2:SafeTest_md5opt.apk,两个版本的应用都包含了一个具体函数APKsMD5Cal(),其中,版本2为优化了MD5计算方法的版本。
[0083] 测试场景:android手机安装20款应用,运行SafeTest.apk,扫描所有应用,假设扫描需要时间10秒。
[0084] 下面为两个版本的应用在相同测试场景下的耗电量。
[0085]
[0086] 本发明通过计算机终端控制电量检测仪监测移动终端的电量数据,同时,移动终端监控应用程序中具体函数的开始执行时刻和结束执行时刻。由于移动终端和计算机终端的时间同步,所以当测试结束后,计算机终端可以通过整理函数从开始执行时刻至结束执行时刻的时间段,以及该时间段内电量检测仪检测的电量数据,来获得该函数在执行时间段内消耗的电量。
[0087] 由于预先在计算机终端运行测试脚本,模拟了具体的测试场景,保证了测试过程的一致性,并减少人为因素的干预,降低误差,因而可以获得具体测试场景下函数的耗电量,检测结果较准确。通过对比不同版本的应用程序在相同测试场景下函数的耗电量,能够选出性能更优的应用程序,以及判别对应用程序的改进设计是否达到预期。
[0088] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0089] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0090] 实施例四:
[0091] 本发明还提供了一种用于实施上述实施例二的函数耗电量检测方法的装置。如图 6 所示, 所述装置包括:移动终端603、电量检测仪602和计算机终端601,其中,计算机终端
601通过第一通用串行总线604与电量检测仪602连接,电量检测仪602通过第二通用串行总线605与移动终端603连接,电量检测仪602还通过电源线606 与移动终端603相连。所述移动终端603和所述计算机终端601的时间保持同步。
[0092] 所述移动终端603,用于获取预设时间段内应用程序中函数的开始执行时刻和结束执行时刻,并将所述开始执行时刻和结束执行时刻发送给计算机终端;
[0093] 所述电量检测仪602,用于为移动终端供电以及监测移动终端在所述预设时间段内的电量数据;
[0094] 所述计算机终端601,用于控制所述电量检测仪602监测移动终端603的电量数据,以及根据所述电量数据、所述开始执行时刻和所述结束执行时刻对应在时间轴上的位置,确定所述函数在开始执行时刻至结束执行时刻时间段内的耗电量。
[0095] 所述电量检测仪602安装有用于控制所述计算机终端601与移动终端603之间信号连接和断开的软件。具体地,所述电量检测仪602还用于控制所述计算机终端601与移动终端603之间的传输信号的断开和连接;当所述计算机终端控制电量检测仪开始监测移动终端的电量数据时,所述计算机终端与移动终端之间的传输信号断开;当所述计算机终端控制电量检测仪停止监测移动终端的电量数据时,所述计算机终端与移动终端之间的传输信号重连。
[0096] 本实施例中,移动终端603可用于执行上述S402中“监测在该预设时间段内应用程序中函数的开始执行时刻和结束执行时刻”这一步骤,电量检测仪602可用于执行上述S402中“获取移动终端在预设时间段内的电量数据”这一步骤,计算机终端601可用于执行步骤S401、S403和404。第一通用串行总线604和第二通用串行总线605可用于传输信号。
[0097] 本实施例中,计算机终端601用于:
[0098] 控制所述电量检测仪开始和结束对移动终端电量数据的监测;
[0099] 以某一时刻为起点,建立时间轴,所述时间轴的起点早于所述预设时间段的起始时刻;
[0100] 通过以下公式将所述电量数据中的时间点换算成时间轴上的时刻,并将与所述时间点对应的电量值加载到时间轴上;
[0101]
[0102] 其中,T1表示所述预设时间段的起始时刻,T2表示所述预设时间段的结束时刻,n表示电量数据中时间点的总个数,n为整数且n>1,Tm表示第m个时间点对应的具体时刻,m≤n;
[0103] 根据开始执行时刻和结束执行时刻对应在时间轴上的位置,确定开始执行时刻对应的电量值和结束执行时刻对应的电量值;以及,
[0104] 将结束执行时刻对应的电量值减去开始执行时刻对应的电量值,得到所述函数在开始执行时刻至结束执行时刻时间段内的耗电量。
[0105] 所述计算机终端还用于存储所述函数的耗电量。
[0106] 实施例五:
[0107] 本发明还提供了一种实施上述实施例三的的函数耗电量检测方法的装置。该装置包括:移动终端603、电量检测仪602和计算机终端601,其中,计算机终端 601通过第一通用串行总线604与电量检测仪602连接,电量检测仪602通过第二通用串行总线605与移动终端603连接,电量检测仪602还通过电源线606与移动终端603相连。所述移动终端603和所述计算机终端601的时间保持同步。
[0108] 所述移动终端603,用于获取预设时间段内应用程序中函数的开始执行时刻和结束执行时刻,并将所述开始执行时刻和结束执行时刻发送给计算机终端;
[0109] 所述电量检测仪602,用于为移动终端供电以及监测移动终端在所述预设时间段内的电量数据;
[0110] 所述计算机终端601,用于控制所述电量检测仪602监测移动终端603的电量数据,以及根据所述电量数据、所述开始执行时刻和所述结束执行时刻对应在时间轴上的位置,确定所述函数在开始执行时刻至结束执行时刻时间段内的耗电量。
[0111] 所述电量检测仪602安装有用于控制所述计算机终端601与移动终端603之间信号连接和断开的软件。具体地,所述电量检测仪602还用于控制所述计算机终端601与移动终端603之间的传输信号的断开和连接;当所述计算机终端控制电量检测仪开始监测移动终端的电量数据时,所述计算机终端与移动终端之间的传输信号断开;当所述计算机终端控制电量检测仪停止监测移动终端的电量数据时,所述计算机终端与移动终端之间的传输信号重连。
[0112] 本实施例中,移动终端603可用于执行上述S501中“监测在该预设时间段内应用程序中函数的开始执行时刻和结束执行时刻”这一步骤,电量检测仪602可用于执行上述S501中“获取移动终端在预设时间段内的电量数据”这一步骤,计算机终端601可用于执行步骤S502-S504。第一通用串行总线604和第二通用串行总线605可用于传输信号。
[0113] 本实施例中,计算机终端601用于:
[0114] 控制所述电量检测仪开始和结束对移动终端电量数据的监测;
[0115] 以0为起点,建立时间轴;
[0116] 将所述电量数据加载到所述时间轴上;
[0117] 将开始执行时刻减去所述预设时间段的起始时刻,得到与开始执行时刻对应的开始执行时间点,将结束执行时刻减去预设时间段的起始时刻,得到与结束执行时刻对应的结束执行时间点,以及根据所述开始执行时间点对应在所述时间轴上的位置,确定开始执行时刻对应的电量值,根据所述结束执行时间点对应在所述时间轴上的位置,确定结束执行时刻对应的电量值;
[0118] 将结束执行时刻对应的电量值减去开始执行时刻对应的电量值,得到所述函数在开始执行时刻至结束执行时刻时间段内的耗电量。
[0119] 进一步地,所述计算机终端601还用于存储所述函数的耗电量。
[0120] 以上所揭露的仅为本发明的较佳实施例而已,当然不能以此来限定本发明的权利范围,依据本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈