一种安卓应用耗电统计方法和装置制造方法及图纸

技术编号:13205442 阅读:58 留言:0更新日期:2016-05-12 12:32
本发明专利技术实施例提供了一种安卓应用耗电统计方法,涉及计算机技术领域。所述方法包括:由第一进程针对一应用,访问系统耗电服务,触发对权限验证函数的调用;通过钩子函数拦截对权限验证函数的调用;调用预设的耗电统计私有类,获取所述应用的耗电量。本发明专利技术解决了先技术无法访问Android4.4及以上系统中的各应用的耗电量信息,以及常用的耗电统计方案的精确度不高且操作繁琐等问题,取得了可以获取包括Android4.4及以上任意版本的Android系统中各应用的耗电信息,操作快捷且提高了获取的耗电量的准确度的有益效果。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别是涉及一种安卓应用耗电统计方法和一种安卓应用耗电统计装置。
技术介绍
随着智能手机的发展,出现了多种支持智能手机的系统。比如Android(安卓)系统。Android是一种以Linux为基础的开放源码操作系统,主要使用于手机等移动终端。Android平台由操作系统、中间件、用户界面和应用软件组成。随着Android系统的市场占有率的增加,越来越多的开发者基于Android系统开发APP(Applicat1n,应用),使用户使用Android手机更方便。对于开发者而言,需要统计各APP的耗电量,以进一步地提高相应APP的性能。现在对于Android4.4以下的系统,可以提取Android本身的耗电机制代码,比较精确的统计各APP的耗电量,但是对于Andro i d4.4及以上的系统,本身均具有权限验证,其中包括对电量统计信息做了权限控制,对于非系统访问,会提醒出现异常,所以无法访问电量统计相关信息,目前各APP耗电统计软件常用的耗电统计方案是基于各APP从开机启动到当前时刻占用CPU的时间和占用的内存,构建经验值算法,但是该方案所统计的耗电量精确度不高,而且操作的过程也比较繁琐。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的安卓应用耗电统计方法和相应的安卓应用耗电统计装置。依据本专利技术的一个方面,提供了一种安卓应用耗电统计方法,包括:由第一进程针对一应用,访问系统耗电服务,触发对权限验证函数的调用;通过钩子函数拦截对权限验证函数的调用;调用预设的耗电统计私有类,获取所述应用的耗电量。优选地,所述通过钩子函数拦截对权限验证函数的调用的步骤,包括:在系统调用权限验证函数,获取到权限验证结果并返回后,通过钩子函数拦截所述返回的权限验证结果。优选地,在由第一进程针对一应用,访问系统耗电服务,触发对权限验证函数的调用之前,还包括:将所述钩子函数注入所述第一进程中,并向系统注册私有类。优选地,所述将所述钩子函数注入所述第一进程中的步骤,包括:在系统启动时,将系统自带的初始孵化进程替换为预定的第一孵化进程;通过所述第一孵化进程将所述钩子函数注入所述第一进程中,并向系统注册私有类。优选地,所述通过所述第一孵化进程将所述钩子函数注入所述第一进程中的步骤,包括:通过所述第一孵化进程监控所述第一进程是否开始启动;如果所述第一进程开始启动,则将所述钩子注入所述第一进程,完成第一进程的启动。优选地,所述调用预设的耗电统计私有类,获取所述应用的耗电量的步骤,包括:通过AIDL服务,调用预设的耗电统计私有类,读取各应用的耗电量配置文件中所述应用的耗电量。优选地,在调用预设的耗电统计私有类,获取所述应用的耗电量的步骤之后,还包括:不断获取所述应用的耗电量并按照时间进行记录;根据所述记录分析所述应用的耗电量变化状态。根据本专利技术的另一方面,提供了一种安卓应用耗电统计装置,包括:触发模块,适于由第一进程针对一应用,访问系统耗电服务,触发对权限验证函数的调用;拦截模块,适于通过钩子函数拦截对权限验证函数的调用;耗电量获取模块,适于调用预设的耗电统计私有类,获取所述应用的耗电量。优选地,所述拦截模块,包括:权限验证结果拦截子模块,适于在系统调用权限验证函数,获取到权限验证结果并返回后,通过钩子函数拦截所述返回的权限验证结果。优选地,在触发模块之前,还包括:注入模块,适于将所述钩子函数注入所述第一进程中,并向系统注册私有类。优选地,所述注入模块,包括:孵化进程替换子模块,适于在系统启动时,将系统自带的初始孵化进程替换为预定的第一孵化进程;注入子模块,适于通过所述第一孵化进程将所述钩子函数注入所述第一进程中,并向系统注册私有类。优选地,所述注入子模块,包括:启动监控子模块,适于通过所述第一孵化进程监控所述第一进程是否开始启动;钩子函数注入子模块,适于如果所述第一进程开始启动,则将所述钩子注入所述第一进程,完成第一进程的启动。优选地,所述耗电量获取模块,包括:耗电量读取子模块,适于通过AIDL服务,调用预设的耗电统计私有类,读取各应用的耗电量配置文件中所述应用的耗电量。优选地,在耗电量获取模块之后,还包括:耗电量记录模块,适于不断获取所述应用的耗电量并按照时间进行记录;耗电量分析模块,适于根据所述记录分析所述应用的耗电量变化状态。根据本专利技术的另一方面,提供了一种安卓应用耗电统计设备,包括:存储器,加载有多条可执行指令;处理器,执行所述多条可执行指令;所述多条可执行指令包括执行以下步骤的方法:由第一进程针对一应用,访问系统耗电服务,触发对权限验证函数的调用;通过钩子函数拦截对权限验证函数的调用;调用预设的耗电统计私有类,获取所述应用的耗电量。根据本专利技术的一种安卓应用耗电统计方法可以由第一进程针对一应用,访问系统耗电服务,触发对权限验证函数的调用,通过钩子函数拦截对权限验证函数的调用,调用预设的耗电统计私有类,获取所述应用的耗电量,由此解决了先技术无法访问Android4.4及以上系统中的各应用的耗电量信息,以及常用的耗电统计方案的精确度不高且操作繁琐等问题,取得了可以获取包括Android4.4及以上任意版本的Android系统中各应用的耗电信息,操作快捷且提高了获取的耗电量的准确度的有益效果。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的【具体实施方式】。【附图说明】通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的一种安卓应用耗电统计方法实施例的步骤流程图;图2示出了根据本专利技术一个实施例的一种安卓应用耗电统计方法实施例的步骤流程图;图3示出了根据本专利技术一个实施例的一种安卓应用耗电统计装置实施例的结构框图;图4示出了根据本专利技术一个实施例的一种安卓应用耗电统计装置实施例的结构框图;及图5示出了根据本专利技术一个实施例的一种安卓应用耗电统计设备实施例的结构框图。【具体实施方式】下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。实施例一参照图1,示出了根据本专利技术一个实施例的一种安卓应用耗电统计方法实施例的步骤流程图,具体可以包括如下步骤:步骤110,由第一进程针对一应用,访问系统耗电服务,触发对权限验证函数的调用。其中的应用(APP,Applicat1n)包括可以在Android系统中运行的应用,如360安全卫士、360安全浏览器等。现有的Android系统自身均具有耗电服务,可以实时分别统计系统中各应用对各硬件组件的耗电量。安卓耗电服务会读取各硬件组件的耗电量,然后记录到p0wer_profile.xml的配置文件中,该配置文件在安卓本文档来自技高网...

【技术保护点】
一种安卓应用耗电统计方法,包括:由第一进程针对一应用,访问系统耗电服务,触发对权限验证函数的调用;通过钩子函数拦截对权限验证函数的调用;调用预设的耗电统计私有类,获取所述应用的耗电量。

【技术特征摘要】

【专利技术属性】
技术研发人员:姜阳阳
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1