获取移动终端应用耗电量的方法及装置制造方法

文档序号:6494421阅读:173来源:国知局
获取移动终端应用耗电量的方法及装置制造方法
【专利摘要】本发明提供一种获取移动终端应用耗电量的方法及装置,属于智能移动终端领域。其中,该获取移动终端应用耗电量的方法应用于Android系统的移动终端中,包括:获取移动终端应用的单位时间耗电量;获取移动终端应用的运行时间;根据所述移动终端应用单位时间耗电量和运行时间计算移动终端应用的耗电量。本发明的技术方案能够检测出移动终端应用的具体耗电量。
【专利说明】获取移动终端应用耗电量的方法及装置
【技术领域】
[0001]本发明涉及智能移动终端领域,特别是指一种获取移动终端应用耗电量的方法及装置。【背景技术】
[0002]目前智能手机的应用非常丰富,随着应用规模越来越大,应用耗电的情况越来越明显,怎么选择更省电的应用已经成为用户面临的一个问题。
[0003]现有技术中,智能手机只能检测整体设备的耗电量和单款应用的粗略耗电百分t匕,而无法具体检测某款应用所耗的电量值。且根据我们的实验分析,系统提供的耗电排行非常不准确,无法为用户提供有价值的信息。智能手机应用的具体耗电情况目前只能通过专门的耗电检测设备来检测,智能手机的普通用户无法获知应用的具体耗电情况,这样在用户需要减少智能手机耗电量时,就无法针对性地关闭某些耗电量比较多的应用,不能达到有效减少智能手机耗电量的目的。

【发明内容】

[0004]本发明要解决的技术问题是提供一种获取移动终端应用耗电量的方法及装置,能够检测出移动终端应用的具体耗电量。
[0005]为解决上述技术问题,本发明的实施例提供技术方案如下:
[0006]—方面,提供一种获取移动终端应用耗电量的方法,应用于Android系统的移动终端中,所述方法包括:
[0007]获取移动终端应用的单位时间耗电量;
[0008]获取移动终端应用的运行时间;
[0009]根据所述移动终端应用单位时间耗电量和运行时间计算移动终端应用的耗电量。
[0010]进一步地,上述方案中,获取移动终端应用的单位时间耗电量包括:
[0011]在移动终端上仅安装所述移动终端应用,运行所述移动终端应用预设时间,绘制移动终端的电量消耗曲线,通过计算平均值获取移动终端应用的单位时间耗电量;或
[0012]计算与所述移动终端应用同类型的其他应用单位时间耗电量的平均值,作为所述移动终端应用的单位时间耗电量。
[0013]进一步地,上述方案中,所述获取移动终端应用的运行时间包括:
[0014]获取移动终端应用的前台运行时间tl,获取移动终端应用的后台运行时间t2 ;
[0015]所述根据所述移动终端应用单位时间耗电量和运行时间计算移动终端应用的耗电量包括:
[0016]通过公式m=n*tl+n*t2/k计算移动终端应用的耗电量,其中,k为换算系数,η为移动终端应用的单位时间耗电量,m为移动终端应用的耗电量。
[0017]进一步地,上述方案中,所述获取移动终端应用的前台运行时间tl包括:
[0018]每隔预设时间获取移动终端的前台应用,并将当前时刻获取的前台应用与上一次获取的前台应用进行比对,如果当前时刻获取的前台应用与上一次获取的前台应用不同,则将当前时刻对应的时间作为前一前台应用的结束时间,将当前时刻对应的时间作为当前前台应用的开始时间;
[0019]通过上述步骤获取移动终端应用作为前台应用的开始时间和结束时间,将结束时间减去开始时间得到移动终端应用的前台运行时间tl。
[0020]进一步地,上述方案中,所述获取移动终端应用的后台运行时间t2包括:
[0021]每隔预设时间获取移动终端的所有后台应用,并将当前时刻获取的后台应用与上一次获取的后台应用进行比对,如果当前时刻获取的后台应用与上一次获取的后台应用不同,则将当前时刻对应的时间作为新增后台应用的开始时间,将当前时刻对应的时间作为消失后台应用的结束时间;
[0022]通过上述步骤获取移动终端应用作为后台应用的开始时间和结束时间,将结束时间减去开始时间得到移动终端应用的后台运行时间t2。
[0023]本发明实施例还提供了一种获取移动终端应用耗电量的装置,应用于Android系统的移动终端中,所述装置包括:
[0024]第一获取模块,用于获取移动终端应用的单位时间耗电量;
[0025]第二获取模块,用于获取移动终端应用的运行时间;
[0026]计算模块,用于根据所述移动终端应用单位时间耗电量和运行时间计算移动终端应用的耗电量。
[0027]进一步地,上述方案中,所述第一获取模块具体用于在移动终端上仅安装所述移动终端应用,运行所述移动终端应用预设时间,绘制移动终端的电量消耗曲线,通过计算平均值获取移动终端应用的单位时间耗电量;或
[0028]计算与所述移动终端应用同类型的其他应用单位时间耗电量的平均值,作为所述移动终端应用的单位时间耗电量。
[0029]进一步地,上述方案中,所述第二获取模块具体用于获取移动终端应用的前台运行时间tl,获取移动终端应用的后台运行时间t2 ;
[0030]所述计算模块具体用于通过公式m=n*tl+n*t2/k计算移动终端应用的耗电量,其中,k为换算系数,η为移动终端应用的单位时间耗电量,m为移动终端应用的耗电量。
[0031]进一步地,上述方案中,所述第二获取模块具体用于每隔预设时间获取移动终端的前台应用,并将当前时刻获取的前台应用与上一次获取的前台应用进行比对,如果当前时刻获取的前台应用与上一次获取的前台应用不同,则将当前时刻对应的时间作为前一前台应用的结束时间,将当前时刻对应的时间作为当前前台应用的开始时间;通过上述步骤获取移动终端应用作为前台应用的开始时间和结束时间,将结束时间减去开始时间得到移动终端应用的前台运行时间tl。
[0032]进一步地,上述方案中,所述第二获取模块具体用于每隔预设时间获取移动终端的所有后台应用,并将当前时刻获取的后台应用与上一次获取的后台应用进行比对,如果当前时刻获取的后台应用与上一次获取的后台应用不同,则将当前时刻对应的时间作为新增后台应用的开始时间,将当前时刻对应的时间作为消失后台应用的结束时间;通过上述步骤获取移动终端应用作为后台应用的开始时间和结束时间,将结束时间减去开始时间得到移动终端应用的后台运行时间t2。[0033]本发明的实施例具有以下有益效果:
[0034]上述方案中,根据获取的移动终端应用的运行时间和移动终端应用的单位时间耗电量可以计算出移动终端的具体耗电量,这样在用户需要节省耗电量时,就可以针对性地关闭某些耗电量比较多的应用,防止移动终端的电池电量消耗过快。
【专利附图】

【附图说明】
[0035]图1为本发明实施例的获取移动终端应用耗电量的方法的流程示意图;
[0036]图2为本发明实施例的获取移动终端应用耗电量的装置的结构框图;
[0037]图3为本发明实施例获得的某款移动终端应用的电量消耗曲线;
[0038]图4为本发明实施例获取的前台应用的变化示意图。
【具体实施方式】
[0039]为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0040]本发明的实施例针对现有技术中智能手机不能检测出某款应用的耗电详情,应用的具体耗电情况只能通过专门的耗电检测设备来检测,用户尚无法获知应用的具体耗电情况,这样在用户需要节省耗电量时,就无法针对性地关闭某些耗电量比较多的应用的问题,提供一种获取移动终端应用耗电量的方法及装置,能够检测出移动终端应用的具体耗电量。
[0041]图1为本发明实施例的获取移动终端应用耗电量的方法的流程示意图,本发明实施例的获取移动终端应用耗电量的方法应用于Andro i d系统的移动终端中(其中,Andro i d是一种基于Linux的自由及开放源代码的操作系统,主要使用于便携设备,如智能手机和平板电脑),如图1所示,本实施例包括:
[0042]步骤101:获取移动终端应用的单位时间耗电量;
[0043]步骤102:获取移动终端应用的运行时间;
[0044]步骤103:根据移动终端应用单位时间耗电量和运行时间计算移动终端应用的耗电量。
[0045]进一步地,本发明的另一实施例中,包括上述步骤IOf 103的基础上,步骤101具体包括:
[0046]在移动终端上仅安装移动终端应用,运行移动终端应用预设时间,绘制移动终端的电量消耗曲线,通过计算平均值获取移动终端应用的单位时间耗电量;或
[0047]计算与移动终端应用同类型的其他应用单位时间耗电量的平均值,作为移动终端应用的单位时间耗电量。
[0048]进一步地,本发明的另一实施例中,包括上述步骤IOf 103的基础上,步骤102具体包括:
[0049]获取移动终端应用的前台运行时间tl,获取移动终端应用的后台运行时间t2 ;
[0050]步骤103包括:
[0051 ] 通过公式m=n*tl+n*t2/k计算移动终端应用的耗电量,其中,k为换算系数,η为移动终端应用的单位时间耗电量,m为移动终端应用的耗电量。[0052]进一步地,获取移动终端应用的前台运行时间tl包括:
[0053]每隔预设时间获取移动终端的前台应用,并将当前时刻获取的前台应用与上一次获取的前台应用进行比对,如果当前时刻获取的前台应用与上一次获取的前台应用不同,则将当前时刻对应的时间作为前一前台应用的结束时间,将当前时刻对应的时间作为当前前台应用的开始时间;
[0054]通过上述步骤获取移动终端应用作为前台应用的开始时间和结束时间,将结束时间减去开始时间得到移动终端应用的前台运行时间tl。
[0055]进一步地,获取移动终端应用的后台运行时间t2包括:
[0056]每隔预设时间获取移动终端的所有后台应用,并将当前时刻获取的后台应用与上一次获取的后台应用进行比对,如果当前时刻获取的后台应用与上一次获取的后台应用不同,则将当前时刻对应的时间作为新增后台应用的开始时间,将当前时刻对应的时间作为消失后台应用的结束时间;
[0057]通过上述步骤获取移动终端应用作为后台应用的开始时间和结束时间,将结束时间减去开始时间得到移动终端应用的后台运行时间t2。
[0058]本发明的获取移动终端应用耗电量的方法,根据获取的移动终端应用的运行时间和移动终端应用的单位时间耗电量可以计算出移动终端的具体耗电量,这样在用户需要节省耗电量时,就可以针对性地关闭某些耗电量比较多的应用,防止移动终端的电池电量消耗过快。
[0059]图2为本发明实施例的获取移动终端应用耗电量的装置的结构框图,本发明实施例的获取移动终端应用耗电量的装置应用于Android系统的移动终端中,如图2所示,本实施例包括:
[0060]第一获取模块20,用于获取移动终端应用的单位时间耗电量;
[0061]第二获取模块21,用于获取移动终端应用的运行时间;
[0062]计算模块22,用于根据移动终端应用单位时间耗电量和运行时间计算移动终端应用的耗电量。
[0063]进一步地,上述方案中,第一获取模块20具体用于在移动终端上仅安装移动终端应用,运行移动终端应用预设时间,绘制移动终端的电量消耗曲线,通过计算平均值获取移动终端应用的单位时间耗电量;或
[0064]计算与移动终端应用同类型的其他应用单位时间耗电量的平均值,作为移动终端应用的单位时间耗电量。
[0065]进一步地,上述方案中,第二获取模块21具体用于获取移动终端应用的前台运行时间tl,获取移动终端应用的后台运行时间t2 ;
[0066]计算模块22具体用于通过公式m=n*tl+n*t2/k计算移动终端应用的耗电量,其中,k为换算系数,η为移动终端应用的单位时间耗电量,m为移动终端应用的耗电量。
[0067]进一步地,上述方案中,第二获取模块21具体用于每隔预设时间获取移动终端的前台应用,并将当前时刻获取的前台应用与上一次获取的前台应用进行比对,如果当前时刻获取的前台应用与上一次获取的前台应用不同,则将当前时刻对应的时间作为前一前台应用的结束时间,将当前时刻对应的时间作为当前前台应用的开始时间;通过上述步骤获取移动终端应用作为前台应用的开始时间和结束时间,将结束时间减去开始时间得到移动终端应用的前台运行时间tl。
[0068]进一步地,上述方案中,第二获取模块21具体用于每隔预设时间获取移动终端的所有后台应用,并将当前时刻获取的后台应用与上一次获取的后台应用进行比对,如果当前时刻获取的后台应用与上一次获取的后台应用不同,则将当前时刻对应的时间作为新增后台应用的开始时间,将当前时刻对应的时间作为消失后台应用的结束时间;通过上述步骤获取移动终端应用作为后台应用的开始时间和结束时间,将结束时间减去开始时间得到移动终端应用的后台运行时间t2。
[0069]本发明的获取移动终端应用耗电量的装置,根据获取的移动终端应用的运行时间和移动终端应用的单位时间耗电量可以计算出移动终端的具体耗电量,这样在用户需要节省耗电量时,就可以针对性地关闭某些耗电量比较多的应用,防止移动终端的电池电量消耗过快。
[0070]下面结合图3-图4以及具体的实施例对本发明的获取移动终端应用耗电量的方法进行详细介绍:
[0071]首先可以通过专业的耗电检测设备取得移动终端应用的耗电数据,测试方法为,在移动终端上仅安装待测试应用,移动终端上没有安装其他应用,运行该应用预设时间(t匕如可以为400秒),每秒记录一次移动终端的实时耗电量(单位毫安),绘制如图3所示的电量消耗曲线,通过计算平均值获取该应用的单位时间耗电量。测试完毕后,将移动终端应用的耗电数据存储到数据库中。
[0072]另外对于某些未知应用,还可以通过已知的耗电数据来推断该应用的单位时间耗电量。如该应用为3D游戏,则分析已有3D游戏的单位时间耗电量,计算已有3D游戏单位时间耗电量的平均值作为该应用的单位时间耗电量。通过此种方式可以扩充应用耗电量数据。如果无法检测该应用类型,则获取全部应用的单位时间耗电量,并取平均值作为该应用的单位时间耗电量。
[0073]之后检测移动终端应用的运行时间,该运行时间包括移动终端应用的前台运行时间和后台运行时间。
[0074]在检测移动终端的前台运行时间时,需要单独创建一个进程,该进程每过预设时间(比如 l-15s)会通过移动终端的 API (Application Programming Interface,应用程序编程接口)获取当前的Activity堆栈,并获取堆栈栈顶的应用(前台应用)。获取以后会跟之前获取的前台应用对比,如果当前时刻获取前台应用与上一次获取的前台应用不同,则将当前时刻对应的时间作为前一前台应用的结束时间,同时作为之后前台应用的开始时间,以此得到移动终端的前台运行时间tl。如图4所示,每隔Is获取一次前台应用,应用A从Os时开始作为前台应用运行,到第3s的时候前台应用变为B,则认为A的前台运行时间为3s ;第4s的时候,前台应用变为C,则B的前台运行时间为Is。
[0075]当移动终端应用在后台运行的时候,其耗电量非常低,通过实验可以得到移动终端应用前台耗电量与后台耗电量的换算系数k,约为10-30。与前台应用类似,每隔预设时间(比如10s-50s)获取一次移动终端当前所有的后台应用,通过遍历的方式计算某个应用在什么时间开始,什么时间结束,得到移动终端应用的后台运行时间t2。
[0076]之后通过公式m=n*tl+n*t2/k计算移动终端应用的耗电量,其中,k为换算系数,η为移动终端应用的单位时间耗电量,m为移动终端应用的耗电量。[0077]在一具体实施例中,移动终端应用的耗电量的计算过程如下:
[0078]某移动终端中共有A、B、C、D四款应用正在运行。通过连续运行应用获取平均耗电量的方法得知,在400s的运行时间中,A的平均单位时间耗电量为369.4毫安、B的平均单位时间耗电量为438毫安,C的平均单位时间耗电量为286.5毫安,D的平均单位时间耗电量为314毫安。四款应用的换算系数k都为20。
[0079]某一时刻,通过方法:
[0080]List<RunningTaskInfo>runRasks=activityMgr
[0081].getRunningTasks (I);
[0082]RunningTaskInfo taskInfo=runRasks.get (O);
[0083]得到,该时刻前台正在运行的应用为A。
[0084]通过方法:
[0085]List<RunningAppProcessInfo>
[0086]android, app.ActivityManager.getRunningAppProcessesO
[0087]得到,该时刻所有运行的后台应用的集合为{A、B、C、D}。 [0088]后续通过定时(如每隔IOs)重复获取前台应用和后台应用,得到N个时刻,每个时刻当前的前台应用和后台应用如下表所示:
[0089]
【权利要求】
1.一种获取移动终端应用耗电量的方法,应用于Android系统的移动终端中,其特征在于,所述方法包括: 获取移动终端应用的单位时间耗电量; 获取移动终端应用的运行时间; 根据所述移动终端应用单位时间耗电量和运行时间计算移动终端应用的耗电量。
2.根据权利要求1所述的获取移动终端应用耗电量的方法,其特征在于,获取移动终端应用的单位时间耗电量包括: 在移动终端上仅安装所述移动终端应用,运行所述移动终端应用预设时间,绘制移动终端的电量消耗曲线,通过计算平均值获取移动终端应用的单位时间耗电量;或 计算与所述移动终端应用同类型的其他应用单位时间耗电量的平均值,作为所述移动终端应用的单位时间耗电量。
3.根据权利要求1所述的获取移动终端应用耗电量的方法,其特征在于,所述获取移动终端应用的运行时间包括: 获取移动终端应用的前台运行时间tl,获取移动终端应用的后台运行时间t2 ; 所述根据所述移动终端应用单位时间耗电量和运行时间计算移动终端应用的耗电量包括: 通过公式m=n*tl+n*t2/k计算移动终端应用的耗电量,其中,k为换算系数,η为移动终端应用的单位时间耗电量,m为移动终端应用的耗电量。
4.根据权利要求3所述的获取移动终端应用耗电量的方法,其特征在于,所述获取移动终端应用的前台运行时间tl包括: 每隔预设时间获取移动终端的前台应用,并将当前时刻获取的前台应用与上一次获取的前台应用进行比对,如果当前时刻获取的前台应用与上一次获取的前台应用不同,则将当前时刻对应的时间作为前一前台应用的结束时间,将当前时刻对应的时间作为当前前台应用的开始时间; 通过上述步骤获取移动终端应用作为前台应用的开始时间和结束时间,将结束时间减去开始时间得到移动终端应用的前台运行时间tl。
5.根据权利要求3所述的获取移动终端应用耗电量的方法,其特征在于,所述获取移动终端应用的后台运行时间t2包括: 每隔预设时间获取移动终端的所有后台应用,并将当前时刻获取的后台应用与上一次获取的后台应用进行比对,如果当前时刻获取的后台应用与上一次获取的后台应用不同,则将当前时刻对应的时间作为新增后台应用的开始时间,将当前时刻对应的时间作为消失后台应用的结束时间; 通过上述步骤获取移动终端应用作为后台应用的开始时间和结束时间,将结束时间减去开始时间得到移动终端应用的后台运行时间t2。
6.一种获取移动终端应用耗电量的装置,应用于Android系统的移动终端中,其特征在于,所述装置包括: 第一获取模块,用于获取移动终端应用的单位时间耗电量; 第二获取模块,用于获取移动终端应用的运行时间; 计算模块,用于根据所述移动终端应用单位时间耗电量和运行时间计算移动终端应用的耗电量。
7.根据权利要求6所述的获取移动终端应用耗电量的装置,其特征在于, 所述第一获取模块具体用于在移动终端上仅安装所述移动终端应用,运行所述移动终端应用预设时间,绘制移动终端的电量消耗曲线,通过计算平均值获取移动终端应用的单位时间耗电量;或 计算与所述移动终端应用同类型的其他应用单位时间耗电量的平均值,作为所述移动终端应用的单位时间耗电量。
8.根据权利要求6所述的获取移动终端应用耗电量的装置,其特征在于, 所述第二获取模块具体用于获取移动终端应用的前台运行时间tl,获取移动终端应用的后台运行时间t2; 所述计算模块具体用于通过公式m=n*tl+n*t2/k计算移动终端应用的耗电量,其中,k为换算系数,η为移动终端应用的单位时间耗电量,m为移动终端应用的耗电量。
9.根据权利要求8所述的获取移动终端应用耗电量的装置,其特征在于, 所述第二获取模块具体用于每隔预设时间获取移动终端的前台应用,并将当前时刻获取的前台应用与上一次获取的前台应用进行比对,如果当前时刻获取的前台应用与上一次获取的前台应用不同,则将当前时刻对应的时间作为前一前台应用的结束时间,将当前时刻对应的时间作为当前前台应用的开始时间;通过上述步骤获取移动终端应用作为前台应用的开始时间和结束时间,将结束时间减去开始时间得到移动终端应用的前台运行时间tl .
10.根据权利要求8所述的获取移动终端应用耗电量的装置,其特征在于, 所述第二获取模块具体用于每隔预设时间获取移动终端的所有后台应用,并将当前时刻获取的后台应用与上一次获取的后台应用进行比对,如果当前时刻获取的后台应用与上一次获取的后台应用不同,则将当前时刻对应的时间作为新增后台应用的开始时间,将当前时刻对应的时间作为消失后台应用的结束时间;通过上述步骤获取移动终端应用作为后台应用的开始时间和结束时间,将结束时间减去开始时间得到移动终端应用的后台运行时间t2。
【文档编号】G06F11/34GK103914365SQ201210594055
【公开日】2014年7月9日 申请日期:2012年12月31日 优先权日:2012年12月31日
【发明者】谢红亮, 熊师, 傅盛, 卢云飞 申请人:北京金山安全软件有限公司, 北京金山网络科技有限公司, 贝壳网际(北京)安全技术有限公司, 可牛网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1