信息处理方法、装置和移动终端转让专利

申请号 : CN201710318082.8

文献号 : CN107145425B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 姚发权吴培建

申请人 : OPPO广东移动通信有限公司

摘要 :

本发明涉及一种信息处理方法、装置和移动终端。上述方法包括:接收移动终端的熄屏指令,记录移动终端待机状态下应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数;接收移动终端的亮屏指令,根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息。上述方法,可以监测移动终端待机功耗中耗电类型。

权利要求 :

1.一种信息处理方法,其特征在于,包括:

接收移动终端的熄屏指令,记录移动终端待机状态下应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数;

接收移动终端的亮屏指令,根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息;

其中,在所述根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息之前,还包括:检测移动终端待机状态下消耗的电流值是否达到指定值;若是,则根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息;

所述应用程序的待机功耗信息包括:根据所述应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取的所述应用程序的耗电指数;

所述耗电指数的获取包括:根据预设的唤醒锁因子、预设的唤醒闹钟因子、所述应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数计算所述应用程序的耗电指数;

所述应用程序的耗电指数w与所述预设的唤醒锁因子α、所述预设的唤醒闹钟因子β、所述应用程序持有唤醒锁的时长wl、所述应用程序触发唤醒闹钟的次数wa之间的关系为w=α*wl+β*wa。

2.根据权利要求1所述的方法,其特征在于,所述应用程序的待机功耗信息还包括:所述应用程序持有唤醒锁的时长占所有应用程序持有唤醒锁的总时长的比值、所述应用程序触发唤醒闹钟的次数占所有应用程序触发唤醒闹钟的总次数的比值。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

根据所述应用程序的待机功耗信息将所述应用程序对应的应用程序标识在移动终端界面排序展示。

4.根据权利要求1所述的方法,其特征在于,在所述根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息之前,所述方法还包括:检测移动终端的待机时长是否达到预设时长;若是,则根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息。

5.一种信息处理装置,其特征在于,包括:

记录模块,用于接收移动终端的熄屏指令,记录移动终端待机状态下应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数;

获取模块,用于接收移动终端的亮屏指令,根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息;

第一检测模块,用于检测移动终端待机状态下消耗的电流值是否达到指定值;若是,则所述获取模块用于根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息;

其中,所述应用程序的待机功耗信息包括:根据所述应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取的所述应用程序的耗电指数;

所述耗电指数的获取包括:根据预设的唤醒锁因子、预设的唤醒闹钟因子、所述应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数计算所述应用程序的耗电指数;

所述应用程序的耗电指数w与所述预设的唤醒锁因子α、所述预设的唤醒闹钟因子β、所述应用程序持有唤醒锁的时长wl、所述应用程序触发唤醒闹钟的次数wa之间的关系为w=α*wl+β*wa。

6.根据权利要求5所述的装置,其特征在于,所述装置还包括:

展示模块,用于根据所述应用程序的待机功耗信息将所述应用程序对应的应用程序标识在移动终端界面排序展示。

7.根据权利要求5所述的装置,其特征在于,所述装置还包括:

第二检测模块,用于检测移动终端的待机时长是否达到预设时长;若是,则所述获取模块用于根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息。

8.一种移动终端,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4中任一项所述的方法。

说明书 :

信息处理方法、装置和移动终端

技术领域

[0001] 本发明涉及计算机技术领域,特别是涉及一种信息处理方法、装置和移动终端。具体地,涉及一种移动终端待机功耗监测方法、装置和移动终端。

背景技术

[0002] 随着智能移动终端的发展,智能移动终端在人们日常生活中逐渐普及。在智能移动终端的使用过程中,智能移动终端中应用程序的操作行为会消耗大量的电量,如在智能移动终端待机状态下应用程序对智能移动终端的唤醒操作、应用程序频繁的发起Wi-Fi扫描请求等都会造成智能移动终端耗电加快,智能移动终端的待机功耗增大。

发明内容

[0003] 本发明实施例提供一种信息处理方法、装置和移动终端,可以监测移动终端待机功耗中耗电类型。
[0004] 一种信息处理方法,包括:
[0005] 接收移动终端的熄屏指令,记录移动终端待机状态下应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数;
[0006] 接收移动终端的亮屏指令,根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息。
[0007] 在其中一个实施例中,所述应用程序的待机功耗信息包括:
[0008] 所述应用程序持有唤醒锁的时长占所有应用程序持有唤醒锁的总时长的比值、所述应用程序触发唤醒闹钟的次数占所有应用程序触发唤醒闹钟的总次数的比值、根据所述应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取的所述应用程序的耗电指数。
[0009] 在其中一个实施例中,所述方法还包括:
[0010] 根据所述应用程序的待机功耗信息将所述应用程序对应的应用程序标识在移动终端界面排序展示。
[0011] 在其中一个实施例中,在所述根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息之前,所述方法还包括:
[0012] 检测移动终端待机状态下消耗的电流值是否达到指定值;若是,则根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息。
[0013] 在其中一个实施例中,在所述根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息之前,所述方法还包括:
[0014] 检测移动终端的待机时长是否达到预设时长;若是,则根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息。
[0015] 一种信息处理装置,包括:
[0016] 记录模块,用于接收移动终端的熄屏指令,记录移动终端待机状态下应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数;
[0017] 获取模块,用于接收移动终端的亮屏指令,根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息。
[0018] 在其中一个实施例中,所述装置还包括:
[0019] 展示模块,用于根据所述应用程序的待机功耗信息将所述应用程序对应的应用程序标识在移动终端界面排序展示。
[0020] 在其中一个实施例中,所述装置还包括:
[0021] 第一检测模块,用于检测移动终端待机状态下消耗的电流值是否达到指定值;若是,则所述获取模块用于根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息。
[0022] 在其中一个实施例中,所述装置还包括:
[0023] 第二检测模块,用于检测移动终端的待机时长是否达到预设时长;若是,则所述获取模块用于根据应用程序持有唤醒锁的时长和所述应用程序触发唤醒闹钟的次数获取所述应用程序的待机功耗信息。
[0024] 一种移动终端,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上任一项所述的方法。

附图说明

[0025] 图1为一个实施例中信息处理方法的应用环境示意图;
[0026] 图2为一个实施例中信息处理方法的流程图;
[0027] 图3为一个实施例中移动终端上传待机电流异常信息的流程图;
[0028] 图4为一个实施例中Wi-Fi唤醒源统计示意图;
[0029] 图5为另一个实施例中信息处理方法的流程图;
[0030] 图6为一个实施例中监控处理中心运行的流程图;
[0031] 图7为一个实施例中无服务场景检测的流程图;
[0032] 图8为一个实施例中小区频繁重选场景检测的流程图;
[0033] 图9为一个实施例中数据频繁激活和短信频繁重发场景检测的流程图;
[0034] 图10为一个实施例中数据分享方法的示意图;
[0035] 图11为另一个实施例中信息处理方法的流程图;
[0036] 图12为另一个实施例中信息处理方法的流程图;
[0037] 图13为另一个实施例中信息处理方法的流程图;
[0038] 图14为另一个实施例中信息处理方法的流程图;
[0039] 图15为另一个实施例中信息处理方法的流程图;
[0040] 图16为另一个实施例中信息处理方法的流程图;
[0041] 图17为另一个实施例中信息处理方法的流程图;
[0042] 图18为一个实施例中信息处理装置的结构框图;
[0043] 图19为另一个实施例中信息处理装置的结构框图;
[0044] 图20为另一个实施例中信息处理装置的结构框图;
[0045] 图21为另一个实施例中信息处理装置的结构框图;
[0046] 图22为另一个实施例中信息处理装置的结构框图;
[0047] 图23为另一个实施例中信息处理装置的结构框图;
[0048] 图24为另一个实施例中信息处理装置的结构框图;
[0049] 图25为另一个实施例中信息处理装置的结构框图;
[0050] 图26为另一个实施例中信息处理装置的结构框图;
[0051] 图27为与本发明实施例提供的移动终端相关的手机的部分结构的框图。

具体实施方式

[0052] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0053] 可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一判定模块称为第二判定模块,且类似地,可将第二判定模块称为第一判定模块。第一判定模块和第二判定模块两者都是判定模块,但其不是同一判定模块。
[0054] 图1为一个实施例中信息处理方法的应用环境示意图。如图1所示,移动终端中包括监控模块102、信息存储模块104、分中心异常识别模块106和反馈模块108。监控模块102用于监控移动终端待机状态,监控模块102中包括监控处理中心和待机状态下程序功能对应的电流值清单。监控处理中心可根据待机时程序功能及对应的电流值获取第二电流值,并将第一电流值与第二电流值对比,检测在移动终端待机状态时是否有大电流消耗,并根据分中心异常识别模块106提供的节点信息和Map信息对大电流消耗定性判断,并将判断结果写入信息存储模块104中关键分区。信息存储模块104用于存储移动终端在待机状态下监控获取的信息,包括BSP模块(Board Support Package,板级支持包)以Node形式存储的待机状态下各唤醒源的唤醒次数、Wi-Fi(Wireless-Fidelity,无线保真)模块和Modem模块以Map形式存储的待机状态下各场景对应的电流值、监控处理中心存储于关键分区的移动终端的耗电类型以及存储于Block模块可供售后工具读取的数据。分中心异常识别模块106用于统计移动终端待机状态下数据,包括驱动层识别并统计的唤醒源、Wi-Fi模块中各子唤醒的唤醒识别和Wi-Fi模块中已知耗电类型的耗电统计、Modem模块中各子唤醒源的唤醒识别和Modem模块已知耗电类型的耗电统计等。反馈模块108用于在移动终端界面弹出提示框提醒用户上传信息至服务器。
[0055] 图2为一个实施例中信息处理方法的流程图。如图2所示,一种信息处理方法,包括步骤S202至步骤S204。其中:
[0056] S202,若检测到移动终端在待机状态下的第一电流值与第二电流值之差大于第一阈值,检测第一电流值与移动终端在待机状态下的第三电流值之差是否大于第二阈值。其中,第一电流值为移动终端在待机状态下实际消耗的平均电流值,第二电流值为移动终端在待机状态下的基准电流值,第三电流值为移动终端在待机状态下的场景电流值。
[0057] 移动终端在待机状态下时,会检测移动终端当前待机状态是否符合预设条件;若符合预设条件,则判定移动终端待机状态下第一电流值与第二电流值之差是否大于第一阈值。其中,预设条件可包括:移动终端的待机时长是否达到预设时长、移动终端待机状态是否为预设的待机状态等。预设的待机状态可包括:后台音乐播放、后台下载、移动终端开启Modem Log等。若移动终端待机状态为预设的待机状态,移动终端中电流消耗值较大,无需监控移动终端中电流消耗值,则不获取移动终端的第一电流值和第二电流值。判定移动终端待机状态是否为预设的待机状态可包括:若检测到在移动终端待机状态时有音频输出,间隔指定时间后再次检测到移动终端中有音频输出,则判定移动终端当前待机状态为后台音乐播放;若检测到在移动终端待机状态时Wi-Fi流量超过30M/h(MByte/hour,兆/小时),或数据网络流量超过20M/h,则判定移动终端当前待机状态为后台下载。
[0058] 第一电流值可根据移动终端的待机时间和待机时间内消耗的总电流值获取;第二电流值可根据移动终端在待机状态下开启的程序功能以及程序功能对应的电流值获取。移动终端中预存有待机状态下程序功能对应的电流值,根据移动终端待机状态下开启的应用程序功能可查找程序功能对应的电流值,再根据程序功能对应的电流值可计算第二电流值。其中,应用程序功能对应的电流值均为移动终端硬件状态的运行数据,可将应用程序功能对应的电流值写入移动终端已有的耗电类型文件,如:vendor/oppo/overlay/项目代号/frameworks/base/core/res/res/xml/power_profile.xml文件中。如表1所示,为某一批次移动终端中程序功能对应的电流范围和电流值,根据程序功能对应的电流值In可计算第二电流值I=∑(I1+I2+···In)。例如,移动终端单卡待机且连接Wi-Fi无数据,则移动终端的第二电流值I=4.5+4+2.6=11.1mA(milli-Ampere,毫安)。
[0059] 表1程序功能及对应电流值清单
[0060]程序功能 电流范围(mA) 电流值(mA)
底电流 4~5 4.5
单卡 2~4 4
双卡 4~6 6
打开Wi-Fi未连接 0.4~0.6 0.5
连接Wi-Fi无数据 2.6 2.6
打开蓝牙未连接 1.1 1.1
连接蓝牙无数据 1.6~2 1.7
打开Wi-Fi和蓝牙,未连接 0.8 0.8
连接Wi-Fi热点,未连接蓝牙设备 3.2 3.2
未连接Wi-Fi热点,连接蓝牙设备 1.3~1.6 1.5
连接Wi-Fi热点,连接蓝牙设备 4 4
[0061] 不同移动终端中硬件、系统、版本、电量计的差异可导致应用程序功能对应给的电流值差异,因此,不同移动终端中程序功能对应的电流值不同。根据程序功能对应的电流值计算的第二电流值带有浮动值。影响第二电流值的浮动值的因子包括:待机时长T、第二电流值I、电池电容量C和电量计误差值n%。第二电流值的浮动值ΔT与上述因子的函数关系为:
[0062]
[0063] 例如,电池电容量C为3000mAh(milli-Ampere-hour,毫安时),待机时长T为5小时,第二电流值I为12mA,电量计误差值为1%,则第二电流值的浮动值为ΔT=(3000*1%)/5=6mA。当检测到移动终端第一电流值与第二电流值之差大于浮动值,即判定移动终端第一电流值与第二电流值之差大于第一阈值,获取移动终端在待机状态下第三电流值,检测第一电流值与第三电流值之差是否大于第二阈值。例如,移动终端待机时第一电流值为20mA,第二电流值为12mA,第二电流值的浮动值为6mA,则第一电流值与第二电流值之差为8mA,则第一电流值与第二电流值之差大于第二电流值的浮动值,获取移动终端的第三电流值。
[0064] 第三电流值是指移动终端在待机状态下的场景电流值,移动终端在待机状态下场景可包括:Wi-Fi扫描次数、Wi-Fi内组密钥交互次数、Wi-Fi续租次数、短信重发次数等,不限于此。移动终端可根据待机状态下的场景获取对应的电流值,将待机状态下的各场景对应的电流值累加即可得到第三电流值。例如,移动终端在待机状态下Wi-Fi扫描次数为10次,其对应的场景电流值为1mA;移动终端在待机状态下Wi-Fi续租次数为5次,其对应的场景电流值为1mA;则移动终端在待机状态下第三电流值为2mA。
[0065] S204,若第一电流值与第三电流值之差大于第二阈值,根据移动终端在待机状态下唤醒源的唤醒次数、移动终端的睡眠时间判定移动终端的耗电类型。
[0066] 第二阈值可根据需要设定。在一个实施例中,第二阈值可为第二电流值、第二电流浮动值和指定值之和。第一电流值与第三电流值之差大于第二阈值即为第一电流值与第三电流值之差大于第二电流值、第二电流浮动值和指定值之和。例如,第一电流值为25mA,第二电流值为12mA,第二电流值的浮动值为6mA,第三电流值为3mA,指定值为3mA,第一电流值与第三电流值之差为22mA,第二电流值、第二电流值的浮动值和指定值之和为21mA,第一电流值与第三电流值之差大于第二阈值,则根据移动终端在待机状态下唤醒源的唤醒次数、移动终端的睡眠时间比判定移动终端的耗电类型。在另一个实施例中,还可以根据移动终端在待机状体下唤醒源的唤醒次数、移动终端的睡眠时长判定移动终端的耗电类型。
[0067] 移动终端待机状态下唤醒源包括AP(Wireless Access Point,无线访问接入点)唤醒、Wi-Fi唤醒、Modem唤醒、电源键唤醒等,不限于此。移动终端可实时记录在待机状态下各唤醒源的唤醒次数以及唤醒各唤醒源的应用程序。如表2所示,为移动终端中唤醒源及其定义。
[0068] 表2唤醒源及定义
[0069]唤醒源 名称
power_key 电源按键唤醒
wcnss_wlan Wi-Fi唤醒
Modem Modem唤醒
qpnp_rtc_alarm Modem唤醒
[0070] 移动终端实时记录的数据存储于移动终端的存储模块内。上述存储模块包括关键分区存储模块、临时交互文件节点和唤醒源统计接口。关键分区存储模块用于存储已识别的耗电类型和未识别的耗电类型。临时交互文件节点用于存储在待机状态下各唤醒源的唤醒次数以及唤醒各唤醒源的应用程序。临时交互文件节点用于暂时存储移动终端待机状态下数据,当检测到移动终端亮屏时,临时交互文件节点内数据清空。唤醒源统计接口用于统计各唤醒源的唤醒次数,并通过系统接口提供给移动终端读取。当移动终端获取到熄屏指令时,将唤醒源统计接口记录的各个唤醒源的唤醒次数清零;当检测到移动终端被唤醒时,识别出对应的唤醒源,并将记录唤醒源的唤醒次数加1,将唤醒次数最多的唤醒源提供给移动终端读取。其中,唤醒源统计接口的节点可为···/sys/kernel/wakeup_reasons/ap_resume_reason_stastics。如表3所示,为关键分区存储模块记录的耗电类型。
[0071] 表3移动终端耗电类型及定义
[0072]
[0073]
[0074] 移动终端的睡眠时间比是指移动终端待机状态下睡眠时长占待机时长的比例。根据移动终端在待机状态下唤醒次数最多的唤醒源、移动终端的睡眠时间比和第一电流值可判定移动终端的耗电类型。
[0075] 本发明实施例中信息处理方法,通过检测移动终端待机状态下实际消耗的电流值与基准电流值、场景电流值的差值,再根据移动终端待机状态下唤醒源的唤醒次数、移动终端的睡眠时间比判定移动终端的耗电类型,可以便捷的监测移动终端的耗电类型。
[0076] 在一个实施例中,移动终端可将判定的移动终端的耗电类型上传服务器。
[0077] 移动终端可通过Log上传工具Stethoscope将数据上传至服务器,每份Log以缺陷方式提交到数据库对应项目区域。当移动终端检测到耗电异常,移动终端可判定移动终端的耗电类型并在移动终端界面弹出提示框,用于提示用户连接网络并自动上传Log。当自动上传Log多次失败时,移动终端仅自动上传关键信息,如移动终端的耗电类型和相应的耗电量,并在移动终端界面弹窗提示用户手动上传移动终端的耗电类型信息。Log为移动终端中日志文件,可记录移动终端中操作系统和应用程序的操作信息;本实施例中,Log中可记载移动终端的耗电类型信息。移动终端按照预设的时间间隔上传移动终端的耗电类型,如移动终端每隔24小时上传一次监控获得的移动终端的耗电类型。移动终端还可通过弹窗提示提醒用户移动终端耗电异常。其中,当移动终端内关键分区存储模块Log开关关闭时,移动终端不弹窗提醒;当移动终端系统版本为Release版本时,即Log开关打开,移动终端也不弹窗提醒;当移动终端系统版本为送测版本或特殊版本时,移动终端不弹窗提醒。如表4所示,为移动终端送测版本和特殊版本以及识别特征。
[0078] 表4移动终端版本识别特征
[0079]版本 识别Feature
CTA oppo.cta.support
移动定制协议/场测 oppo.cmcc.test
联通全网通送测 oppo.all.cutest
电信送测 oppo.allnet.cttest
电信C库协议/场测全网通 oppo.all.cttest
移动全网通 oppo.all.cmcctest
电信四模A库送测 oppo.ct.test
老化版本 persist.version.ageing
[0080] 图3为一个实施例中移动终端上传待机电流异常信息的流程图。如图3所示,包括:
[0081] S302,检测到待机电流异常。若检测到移动终端待机状态下消耗的电流值大于指定值,进入步骤S304。
[0082] S304,弹出窗口提示用户上传数据。在移动终端界面弹窗提示用户上传耗电异常数据。
[0083] S306,关闭Log开关并压缩数据。关闭移动终端中Modem Log开关,并将记载耗电异常信息的Log文件压缩。
[0084] S308,是否Wi-Fi连接。检测移动终端是否连接Wi-Fi;若是,进入步骤S310;若否,进入步骤S312。
[0085] S310,上传Log。将记载耗电异常信息的Log文件上传服务器,上传成功进入步骤S318;上传失败进入步骤S314。
[0086] S312,提示用户连接Wi-Fi。检测到移动终端连接Wi-Fi后,上传Log。
[0087] S314,再次上传是否失败。若是,进入步骤S316。若否,进入步骤S318。
[0088] S316,仅上传关键信息,提示手动上传。通过数据网络上传Log中关键信息,如耗电异常类型为硬件耗电,耗电量为10mA。
[0089] S318,结束。
[0090] 本发明实施例中信息处理方法,将移动终端待机状态下判定获取的移动终端的耗电类型上传服务器,有利于开发人员方便的从服务器获取移动终端的待机功耗信息,有利于对移动终端的待机功耗信息进行统计分析。
[0091] 在一个实施例中,图2中步骤S204根据移动终端在待机状态下唤醒源的唤醒次数、移动终端的睡眠时间判定移动终端的耗电类型包括:检测唤醒源的唤醒次数是否达到指定值;若是,根据唤醒次数最多的唤醒源判定移动终端的耗电类型;若否,检测第一电流值和移动终端的睡眠时间比是否符合预设规则;若符合预设规则,记录移动终端的耗电类型为硬件异常耗电。
[0092] 在移动终端的待机状态下,若移动终端中唤醒源的唤醒次数达到指定值,根据唤醒次数最多的唤醒源判定移动终端的耗电类型。如移动终端待机状态下,移动终端中Wi-Fi唤醒次数为16次/小时、Modem唤醒次数达到15次/小时、AP唤醒次数达到10次/小时,Wi-Fi唤醒和Modem唤醒的次数超过15次/小时,则根据唤醒次数最多的Wi-Fi唤醒判定移动终端的耗电类型为Wi-Fi唤醒耗电。若移动终端中唤醒源的唤醒次数均未达到指定值,检测第一电流值和移动终端的睡眠时间比是否符合预设规则,如第一电流值是否超过22mA,睡眠时间比是否超过99%等。若第一电流值超过22mA,且移动终端在待机状态时睡眠比超过99%,则判定移动终端的耗电类型为硬件异常耗电。若移动终端中唤醒源的唤醒次数未达到指定值,且不为硬件异常耗电类型,则判定为未知耗电类型。
[0093] 在一个实施例中,上述根据唤醒次数最多的唤醒源判定移动终端的耗电类型包括:获取唤醒次数最多的唤醒源中各子唤醒源的唤醒次数和唤醒各子唤醒源的应用程序;根据各子唤醒源的唤醒次数和唤醒各子唤醒源的应用程序判定移动终端的耗电类型。
[0094] 移动终端中各唤醒源中包括子唤醒源。如Wi-Fi唤醒源中包括数据包唤醒wlan_wakeup_src_count[DATA_TYPE_STASTIC]、管理包唤醒wlan_wakeup_src_count[MGMT_TYPE_STASTIC]、固件唤醒wlan_wakeup_src_count[EVENT_TYPE_STASTIC]和其他类型唤醒wlan_wakeup_src_count[UNKNOWN_TYPE_STASTIC]。如图4所示,当移动终端接收到熄屏指令时,移动终端调用wlan接口wlan_clear_wakesrc_count()将Wi-Fi唤醒源中各子唤醒源的唤醒次数清零。在移动终端的待机状态下,当Wi-Fi唤醒源唤醒移动终端时,移动终端可检测唤醒移动终端的Wi-Fi唤醒源中对应的子唤醒源,并将子唤醒源的唤醒次数对应加1。当移动终端接收到亮屏指令时,将唤醒源中各子唤醒源的唤醒次数写入存储模块中临时交互文件节点···/sys/kernel/wakeup_reasons/conn_resume_reason_stastics,并通过唤醒源统计接口提供给移动终端读取。
[0095] 当移动终端检测到在待机状态下唤醒次数最多的唤醒源后,进一步获取唤醒次数最多的唤醒源中各子唤醒源的唤醒次数以及唤醒子唤醒源的应用程序,对各子唤醒源的唤醒次数和唤醒子唤醒源的应用程序进行统计分析,并将统计分析结果上传服务器。例如,移动终端在待机状态下唤醒次数最多的唤醒源是Wi-Fi唤醒源、唤醒次数为30次,进一步的获取到Wi-Fi唤醒源中数据包唤醒为15次,管理包唤醒为5次,固件唤醒为5次,其他类型唤醒为5次。获取在移动终端待机状态下数据包唤醒对应的应用程序为QQ、微博。则判定移动终端的耗电类型为Wi-Fi唤醒耗电,具体地,是移动终端中应用程序QQ和微博频繁进行数据包唤醒造成的耗电。
[0096] 在一个实施例中,上述信息处理方法还包括:若检测到第一电流值与第三电流值之差小于第二阈值,根据第三电流值判定移动终端的耗电类型。
[0097] 当第一电流值与第三电流值之差小于第二阈值,即第一电流值与第三电流值之差小于第二电流值、第二电流值的浮动值与指定值之和,即第一电流值与第三电流值之差在浮动范围内,则根据第三电流值判定移动终端的耗电类型。例如,在移动终端待机状态下第一电流值为22mA,第二电流值为12mA,第二电流值的浮动值为6mA,第三电流值为3mA,指定值为3mA,则第一电流值与第三电流值之差为19mA,第二电流值、第二电流值的浮动值与指定值之和为21mA,则第一电流值与第三电流值之差小于第二阈值,则获取第三电流值中对应的各场景的电流值,如第三电流值3mA包括Wi-Fi扫描次数10次1mA、Wi-Fi续租次数5次1mA、组密钥交互10次1mA,则判定移动终端的耗电类型为Wi-Fi扫描频繁、Wi-Fi续租频繁和组密钥交互频繁。移动终端可将判定的移动终端的耗电类型信息记录在存储分区的关键分区存储模块并上传服务器。如移动终端的耗电类型为Wi-Fi扫描频繁,Wi-Fi扫描次数为10次,对应的耗电量为1mA。
[0098] 本发明实施例中信息处理方法,根据已知的场景耗电来判定移动终端的耗电类型,可统计分析移动终端已知场景的耗电情况,根据统计分析结果有利于对移动终端进行改进。
[0099] 在一个实施例中,上述信息处理方法还包括:检测到移动终端的待机时长大于预设时长,获取第一电流值和第二电流值。
[0100] 当移动终端接收到熄屏指令,移动终端开始监测待机状态下移动终端的耗电量;若在预设的时间间隔内移动终端接收到亮屏的指令,移动终端清除在待机状态下记录的数据,即移动终端的待机时长大于预设时长时,移动终端监测记录待机状态下数据,并对获取的数据进行分析,判定移动终端的耗电类型。例如,预设时长可为5小时,当移动终端的待机时长大于5小时时,移动终端对检测获取的数据进行分析,判定移动终端的耗电类型。
[0101] 移动终端待机状态下耗电量按照电池耗电的百分比计算,而移动终端中电池的电量随时间非线性衰减,当移动终端中没有电量计时,根据电池耗电的百分比计算移动终端待机状态下耗电量存在较大的误差,如0.5%~1%。
[0102] 本发明实施例中信息处理方法,通过设定待机时长需要达到的预设时长,可以有效的控制电流值的误差,提高计算的精确度。
[0103] 图5为另一个实施例中信息处理方法的流程图。如图5所示,一种信息处理方法,包括步骤S502至步骤S510。其中:
[0104] S502,A不小于B?根据移动终端熄屏时第一状态和亮屏时第二状态可计算第一电流值A;根据程序功能及对应电流值清单可计算第二电流值B。判断第一电流值A是否不小于第二电流值B;若是,进入步骤S504;若否,进入步骤S510。
[0105] S504,排除已知场景电流值。根据Modem监控和Wi-Fi监控记录在Map中已知场景的耗电量,可获取第三电流值。判断是否为第三电流值中已知场景耗电。在排除已知场景的耗电量后,移动终端耗电量超过指定值,进入步骤S506。
[0106] S506,判定移动终端耗电类型。根据Node中记载的BSP唤醒源监控数据判定移动终端的耗电类型,进入步骤S508。
[0107] S508,上传服务器。移动终端将判定的移动终端的耗电类型写入关键Log并上传服务器。售后工具通过读取关键Log信息也可得到移动终端的耗电类型信息。
[0108] S510,结束。
[0109] 本发明实施例中信息处理方法,可以快捷的监测移动终端的耗电类型。
[0110] 图6为一个实施例中监控处理中心运行的流程图。如图6所示,为图1中监控模块中监控处理中心运行的流程图,包括步骤S602至步骤S620。其中:
[0111] S602,熄屏记录第一状态。移动终端接收到熄屏指令时,记录熄屏时间,电池电量等。
[0112] S604,亮屏记录第二状态。移动终端接收到亮屏指令,记录亮屏时间,电池电量等。
[0113] S606,移动终端待机状态是否为预设的待机状态。若是,进入步骤S608;若否,进入步骤S610。检测移动终端的待机时长是否达到预设时长、移动终端的待机状态是否不为预设的待机状态、移动终端的Modem Log是否关闭等。
[0114] S608,读取唤醒源唤醒次数,各子唤醒源唤醒次数,场景耗电信息、第一状态信息和第二状态信息。读取移动终端在待机状态下记载的信息,进入步骤S612。
[0115] S610,结束。
[0116] S612,计算第一电流值A、第二电流值B、第三电流值C。
[0117] S614,A不小于B。判断第一电流值A是否不小于第二电流值B;若是,进入步骤S610;若否,进入步骤S616。
[0118] S616,A减去第三电流值C是否达标。若是,进入步骤S610;若否,进入步骤S618。
[0119] S618,判定移动终端耗电类型并写入关键分区。判定移动终端的耗电类型,并将判定的移动终端的耗电类型信息写入存储模块中关键分区。
[0120] S620,Alarm异常排序弹框提示。Alarm是Android系统中用于完成闹钟式定时任务的类,Alarm类可完成一次性定时任务或循环定时任务。当检测到移动终端耗电异常时,通过Alarm异常排序弹框提示用户,并将移动终端耗电类型信息上传服务器。
[0121] 移动终端耗电类型中无服务时间、频繁重选、数据频繁激活和短信频繁重发可通过Modem模块监测。
[0122] 如图7所示,为一个实施例中无服务场景检测的流程图。当移动终端内为双卡时,若两张卡同时无服务,则单独计算每张卡无服务的时间再累加作为移动终端无服务时间,但移动终端无服务时间不大于移动终端待机时间。
[0123] S702,开机。移动终端开机后启动Telephony进程监听服务状态。其中,移动终端中ServiceStateTracker类中GSMServiceStateTracker子类可监听移动卡和联通卡的是否无服务;CDMAServiceStateTracker子类可监听电信卡的是否无服务。
[0124] S704,监听服务状态。具体地,在移动终端updateSpnDisplay中可监听服务状态。监测到移动终端有服务,进入步骤S706;监测到移动终端无服务,进入步骤S720。
[0125] S706,多卡判断和区别处理。检测移动终端中是否存在多张卡,若存在,同时监听每张卡的服务状态。
[0126] S708,记录当前时间。
[0127] S710,无服务起始时间不为0?检测无服务起始时间是否为0,若是,进入步骤S712;若否,返回步骤S704。
[0128] S712,无服务起始时间大于熄屏时间?检测无服务起始时间是否大于熄屏时间,若是,进入步骤S716;若否,进入步骤S714。
[0129] S714,无服务时间=无服务时间+(当前时间–熄屏时间)。
[0130] S716,无服务时间=无服务时间+(当前时间–无服务起始时间)。
[0131] S718,无服务起始时间设置为0。返回步骤S704。
[0132] S720,多卡判断和区别处理。若移动终端存在多张卡,计算多张卡的累计无服务时间作为移动终端的无服务时间;若移动终端仅存在一张卡,计算该卡的无服务时间作为移动终端的无服务时间。
[0133] S722,记录当前时间。
[0134] S724,无服务起始时间为0?检测无服务起始时间是否为0,若是,进入步骤S726;若否,返回步骤S704。
[0135] S726,无服务起始时间=当前时间。返回步骤S704。
[0136] S728,监听屏幕状态。在移动终端handleMessage中可监听屏幕状态,判断移动终端当前是处于熄屏状态还是处于亮屏状态。当接收到熄屏指令时,进入步骤S730;当接收到亮屏的指令时,进入步骤S734。
[0137] S730,记录熄屏时间。
[0138] S732,无服务时间清零。当移动终端接收到熄屏指令时,将无服务时间清零。
[0139] S734,记录亮屏时间。
[0140] S736,无服务起始时间不为0?若是,进入步骤S738;若否,返回步骤S728。
[0141] S738,无服务时间=无服务时间+(亮屏时间–无服务起始时间)。返回步骤S728。
[0142] 本发明实施例中无服务场景检测的方法,可以快捷的监听移动终端的服务状态,检测移动终端中无服务时间。
[0143] 如图8所示,为一个实施例中小区频繁重选场景检测的流程图。当移动终端由无服务状态进入信号覆盖区时,移动终端会搜寻能够连接的所有基站信号,并选择其中一个基站连接。其中,基站信号覆盖的范围为小区。当移动终端连接某一基站信号时,即移动终端驻留在该基站对应的小区。当移动终端处于多个基站的交界处时,移动终端会频繁重选连接的基站,造成移动终端耗电异常。
[0144] S802,开机。移动终端开机后开始监测移动终端连接的小区ID。
[0145] S804,监听当前驻留小区号。监听当前驻留小区的ID,若有变化,进入步骤S806;若无变化,持续监听当前驻留小区号。
[0146] S806,亮屏期间重选次数自增1。将小区频繁重选次数加1并记录。当监听到移动终端驻留小区的ID变化1次,对应的将记录的小区频繁重选次数加1。
[0147] S808,监听屏幕状态。若监测到熄屏,进入步骤S810;若监测到亮屏,进入步骤S816。
[0148] S810,记录熄屏时间。
[0149] S812,重选频率=亮屏期间重选次数/(熄屏时间-亮屏时间)。根据记录的重选次数、熄屏时间和亮屏时间计算小区重选频率。
[0150] S814,休眠期间重选次数清零。计算重选频率后,将重选次数清零,返回步骤S808重新监听屏幕状态。
[0151] S816,记录亮屏时间。
[0152] S818,休眠期间重选次数=重选频率*(亮屏时间-熄屏时间)。
[0153] S820,重选频率清零、亮屏期间重选次数清零。返回步骤S808监听屏幕状态。
[0154] 在移动终端休眠时,移动终端中Telephony层无法接收到Modem层小区重选事件,即Telephony层无法接收到当前小区ID消息上报的消息。本发明实施例中频繁重选检测方法,通过记录亮屏时小区重选频率作为熄屏时小区重选频率,可以降低移动终端的功耗。
[0155] 如图9所示,为一个实施例中数据频繁激活和短信频繁重发场景检测的流程图。数据频繁激活是指在移动终端待机状态下数据传输行为将移动终端唤醒,短信重发是指移动终端在发送短信失败后重试发送,在移动终端的待机状态下,移动终端中频繁的数据激活和短信重发会消耗电量。
[0156] S902,开机。移动终端开机后开始监测移动终端中数据激活和短信发送。
[0157] S904,监听数据激活行为。监听到有激活行为,进入步骤S906。未监听到激活行为,则持续监听数据激活行为。
[0158] S906,数据激活次数自增1。监听到数据激活行为,将记录的数据激活行为次数加1。
[0159] S908,监听屏幕状态。在移动终端亮屏时,持续监听屏幕状态;在移动终端熄屏时,进入步骤S910。
[0160] S910,数据激活次数清零、短信重发次数清零。当监听到移动终端熄屏时,将记录的数据清零,并持续监听屏幕状态。
[0161] S912,监听短信发送行为。监听到有短信发送行为,进入步骤S914。位监听到短信发送信息则持续监听短信发送信息。
[0162] S914,短信重发次数自增1。监听到短信重发行为,将记录的短信重发次数加1,并持续监听短信发送行为。
[0163] 本发明实施例中数据频繁激活和短信频繁重发场景检测方法,可以便捷的检测出移动终端中数据频繁激活行为和短信频繁重发行为,并记录数据频繁激活消耗的电量、短信频繁重发消耗的电量。
[0164] 移动终端中AIDL(Android Interface Definition Language,安卓接口定义语言)机制可以将检测到的结果传递给待机功耗识别监测服务。如将监测到的数据激活频率、短信重发频率、小区频繁重选频率和无服务时间传递给识别检测服务。如图10所示,通过将ConnectivityManager做为接口类,将数据存储于ConnectivityService,移动终端的待机功耗检测服务可通过调用ConnectivityManager来存储和读取数据。当移动终端中功耗检测服务在读取数据时,若移动终端中Telephony层还未写入数据,则读取的数据和写入的数据不同步。其中,可设置一个tag如AlreadyUpdate来记录数据。Telephony层可在移动终端熄屏时tag重置为0,在移动终端亮屏写完数据后再将tag设置为指定值如true。功耗检测服务可通过tag的值判断数据是否写入完全;若数据写入不完全,则在一定的时间间隔后再检测tag的值。
[0165] 本发明实施例中数据分享方法,可以避免不同进程间数据无法分享的情况,可以实时获取移动终端待机状态下监控的数据,有利于根据获取的数据分析移动终端待机状态下的耗电类型。
[0166] 图11为一个实施例中信息处理方法的流程图。如图11所示,一种信息处理方法,包括步骤S1102至步骤S1106。其中:
[0167] S1102,接收移动终端的熄屏指令,将连接Wi-Fi的状态信息统计次数清零。
[0168] S1104,若检测连接Wi-Fi的状态信息变化,更新连接Wi-Fi的状态信息的统计次数。
[0169] S1106,接收移动终端的亮屏指令,停止检测连接Wi-Fi的状态信息。
[0170] 移动终端可通过Wi-Fi与其他移动终端连接通信。当移动终端连接AP后,可记录AP的SSID(Service Set Identifier,服务集标识)。当移动终端接收到熄屏指令后,记录熄屏时间mScreenOffTime,将移动终端已统计的连接Wi-Fi的状态信息统计次数清零。移动终端可实时检测连接Wi-Fi的状态信息是否变化,若检测到连接Wi-Fi的状态信息变化,则更新连接Wi-Fi的状态信息的统计次数。当移动终端接收到亮屏指令时,可记录移动终端的亮屏时间mScreenOnTime,并停止检测连接Wi-Fi的状态信息。具体地,移动终端中可通过“public int getWi-FiPowerEventCode()”接口供移动终端中耗电模块获取wlan数据,判断移动终端待机状态下存在是否存在移动终端耗电异常。若移动终端接收到熄屏指令与接收到亮屏指令之间时间间隔未达到指定时长,不上报待机状态下移动终端中连接Wi-Fi的状态信息,如熄屏时间未超过20秒,不上报已统计的连接Wi-Fi的状态信息。
[0171] 本发明实施例中信息处理方法,通过检测在移动终端待机状态下连接Wi-Fi的状态信息的变化,可检测因AP端配置导致的移动终端耗电,有利于检测移动终端的待机功耗。
[0172] 在一个实施例中,上述信息处理方法中连接Wi-Fi的状态信息包括:组密钥、动态主机配置协议DHCP续租和Wi-Fi连接状态中至少一种。
[0173] 连接Wi-Fi的状态信息可包括组密钥、动态主机配置协议DHCP续租、Wi-Fi扫描次数和Wi-Fi连接状态中至少一种。无线路由器中Wi-Fi网络会设置组密钥更新周期,即间隔一定的时间更新一次组密钥。其中,组密钥是指Wi-Fi密码的算法。移动终端在连接Wi-Fi时,需要向DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器获取IP(Internet Protocol,网络之间互连的协议)地址,移动终端与无线路由器的IP地址签订有时间限制,移动终端需要向无线路由器续租来继续连接Wi-Fi。通常情况下,无线路由器的IP地址租期为1小时,当移动终端获取IP地址的租期过半时,移动终端会向无线路由器续租,即移动终端获取的IP地址的租期为半个小时时,移动终端会向无线路由器续租。Wi-Fi连接状态是指移动终端是否连接Wi-Fi,当无线路由器的Wi-Fi信号不稳定时,移动终端会频繁断开重连Wi-Fi,造成移动终端耗电。
[0174] 在一个实施例中,图11中步骤S1104若检测连接Wi-Fi的状态信息变化,更新连接Wi-Fi的状态信息的统计次数包括:若检测到组密钥变化,将组密钥变化的统计次数加1;上述信息处理方法还包括:若检测到组密钥变化的统计次数达到第一阈值,在移动终端界面显示提示。
[0175] 在移动终端待机状态下,移动终端检测到当前连接的Wi-Fi中组密钥变化,则将组密钥变化的统计次数mGroupCount加1。在移动终端接收到亮屏指令时,记录亮屏时间mSrceenOnTime,根据移动终端的熄屏时间、亮屏时间和组密钥变化的统计次数可计算出移动终端待机状态下组密钥变化频次mGroupFreq。若组密钥变化频次达到第一阈值如20次/分,则在移动终端界面弹窗提示当前Wi-Fi的组密钥更新过于频繁,提醒用户修改Wi-Fi的组密钥更新周期。
[0176] 在一个实施例中,图11中步骤S1104若检测连接Wi-Fi的状态信息变化,更新连接Wi-Fi的状态信息的统计次数包括:若检测到DHCP续租,将DHCP续租的统计次数加1;上述信息处理方法还包括:若检测到DHCP续租的统计次数达到第二阈值,在移动终端界面显示提示。
[0177] 在移动终端待机状态下,移动终端检测到当前连接的Wi-Fi每发起一次DHCP续租,则将DHCP续租的统计次数mDhcpCount加1。在移动终端接收到亮屏指令时,记录亮屏时间mSrceenOnTime,根据移动终端的熄屏时间、亮屏时间和DHCP续租的统计次数可计算出移动终端待机状态下DHCP续租频次mDhcpFreq。若DHCP续租频次达到第二阈值如40次/分,则在移动终端界面弹窗提示当前Wi-Fi的DHCP租期设置不合理,移动终端续租过于频繁,提醒用户修改当前Wi-Fi的DHCP租期设置。
[0178] 在一个实施例中,图11中步骤S1104若检测连接Wi-Fi的状态信息变化,更新连接Wi-Fi的状态信息的统计次数包括:若检测到Wi-Fi断开连接,将Wi-Fi连接状态的统计次数加1;上述信息处理方法还包括:若检测到Wi-Fi连接状态的统计次数达到第三阈值,在移动终端界面显示提示框或禁止连接当前Wi-Fi。
[0179] 在移动终端待机状态下,移动终端检测到Wi-Fi断开连接时,将重新连接Wi-Fi,并在Wi-Fi连接状态的统计次数mDisconnCount加1。在移动终端接收到亮屏指令时,记录亮屏时间mSrceenOnTime,根据移动终端的熄屏时间、亮屏时间和Wi-Fi连接状态的统计次数可计算出移动终端待机状态下Wi-Fi连接状态变化频次mDisconnFreq。若Wi-Fi连接状态变化频次达到第三阈值如35次/分,则在移动终端界面弹窗提示当前Wi-Fi信号不稳定,建议重启无线路由器或连接其他Wi-Fi;或移动终端在一定时间内禁止连接当前Wi-Fi,如移动终端在一个小时内禁止连接当前Wi-Fi。
[0180] 图12为另一个实施例中信息处理方法的流程图。如图12所示,一种信息处理方法,包括步骤S1202至步骤S1214。其中:
[0181] S1202,熄屏。移动终端接收到熄屏指令后开始监测移动终端中连接Wi-Fi的状态信息。
[0182] S1204,熄屏亮屏间隔达到指定时长。若移动终端熄屏与亮屏时间间隔达到指定时长,如20秒,计算移动终端待机状态下状态信息变化频次。
[0183] S1206,连接Wi-Fi的状态信息统计次数清零。检测到移动终端亮屏时,将连接Wi-Fi的状态信息统计次数清零。
[0184] S1208,连接Wi-Fi的状态信息变化。检测到连接Wi-Fi的状态信息变化,更新连接Wi-Fi的状态信息统计次数。
[0185] S1210,更新连接Wi-Fi的状态信息统计次数,获取连接Wi-Fi的状态信息变化频次。根据待机状态下统计的Wi-Fi的状态信息统计次数和待机时长获取Wi-Fi的状态信息变化频次。
[0186] S1212,变化频次大于预设阈值。若连接Wi-Fi的状态信息变化频次大于预设频次,进入步骤S1214。
[0187] S1214,写入连接Wi-Fi的状态信息变化频繁标志位。连接Wi-Fi的状态信息变化频繁标志位是用于标识Wi-Fi的状态信息变化频繁的字符串。具体地,组密钥握手频繁标志位为0x10、Wi-Fi续租频繁标志位为0x100、Wi-Fi断连频繁标志位为0x1000。
[0188] 图13为一个实施例中信息处理方法的流程图。如图13所示,一种信息处理方法,包括步骤S1302至步骤S1304。其中:
[0189] S1302,在移动终端待机状态下接收扫描请求,检测在扫描请求对应的时间间隔内是否接收到除已接收扫描请求外的扫描请求。
[0190] S1304,若未接收到除已接收扫描请求外的扫描请求,开启移动终端Wi-Fi扫描。
[0191] 当移动终端连接Wi-Fi后,移动终端可利用Wi-Fi来进行移动终端定位。移动终端扫描获取的每一个Wi-Fi拥有唯一的MAC(Media Access Control,媒体访问控制)地址,根据移动终端扫描获取的Wi-Fi的MAC地址以及各个Wi-Fi信号的强弱,可以获取移动终端的位置信息。移动终端中APP(Application,应用程序)需要获取位置信息时,会向移动终端发起扫描请求。在移动终端待机状态下,移动终端中APP频繁发起的扫描请求会造成移动终端耗电。
[0192] 在移动终端待机状态下接收到第一个应用程序发起的扫描请求后,启动定时器将第一应用发起的扫描请求延时第一时间间隔处理,即移动终端检测在第一时间间隔内是否接收到第二应用程序发起的扫描请求;若在第一时间间隔内若接收到第二应用程序发起的扫描请求,则检测在第二时间间隔内是否接收到第三应用程序发起的扫描请求;若在第一时间间隔未接收到第二应用程序的扫描请求,开启移动终端Wi-Fi扫描,使得发起扫描请求的APP可获取移动终端的位置信息。
[0193] 本发明实施例中信息处理方法,在移动终端待机状态下,接收将移动终端中APP发起的扫描请求,将APP发起的扫描请求延时处理,可以减少移动终端待机状态下由APP频繁发起扫描造成的移动终端耗电,节省移动终端待机状态下功耗,延长移动终端的待机时长。
[0194] 在一个实施例中,上述信息处理方法还包括:若检测到当前已接收扫描请求的个数达到指定值,开启移动终端Wi-Fi扫描。
[0195] 移动终端若检测到当前已接收的扫描请求的个数超过指定值,则开启移动终端Wi-Fi扫描,使移动终端中发起扫描请求的APP能够获取移动终端的位置信息。通过检测已接收的扫描请求的个数,可以避免移动终端已接收的扫描请求个数较多,扫描请求长时间未得到响应,造成用户体验较差的情况。
[0196] 在一个实施例中,上述信息处理方法还包括:根据接收扫描请求的时刻获取扫描请求等待时长;若检测到扫描请求等待时长达到指定时长,开启移动终端Wi-Fi扫描。
[0197] 移动终端在接收到APP的扫描请求后,会记录接收到扫描请求的时刻,将当前时刻减去接收到扫描请求的时刻即可得到扫描请求的等待时长,若检测到扫描请求的等待时长超过指定时长,则开启移动终端Wi-Fi扫描。例如,移动终端当前已接收两个应用程序的扫描请求,移动终端接收到第一个应用程序发起的扫描请求的时刻为16:50:56;接收到第二个应用程序发起的扫描请求的时刻为16:51:01。当前时刻为16:51:03。则第一应用程序发起的扫描请求的等待时长为7秒;第二应用程序发起的扫描请求的等待时长为2秒,预设的扫描请求的指定时长为5秒,第一应用程序发起的扫描请求的等待时长达到指定时长,则开启移动终端Wi-Fi扫描,使得第一应用程序和第二应用程序可获取移动终端的位置信息。通过检测已接收的扫描请求等待时长,可以避免移动终端已接收的扫描请求长时间未得到响应,造成用户体验较差的情况。
[0198] 在一个实施例中,上述信息处理方法还包括:不同扫描请求对应的时间间隔为不同值。
[0199] 移动终端中接收到的扫描请求对应的时间间隔为不同值。具体地,不同扫描请求对应的时间间隔为不同值,即移动终端接收到的第一扫描请求对应的时间间隔、第二扫描请求对应的时间间隔···第N扫描请求对应的时间间隔为不用值。具体地,各扫描请求对应的时间间隔可按照接收顺序逐渐增大、或各扫描请求对应的时间间隔可按照接收顺序逐渐减小、或各扫描请求对应的时间间隔根据各扫描请求的实时性要求分配。例如,移动终端接收到第一扫描请求后,检测在第一时间间隔3秒内是否接收到第二扫描请求;在接收到第二扫描请求后,检测在第二时间间隔2秒内是否接收到第三扫描请求。通过对不同扫描请求设定不同时间间隔,可以对接收到的扫描请求灵活处理,避免移动终端中扫描请求长时间未响应,降低用户体验。
[0200] 在一个实施例中,上述信息处理方法还包括:不同扫描请求对应的时间间隔为相同值。
[0201] 移动终端接收到的扫描请求对应的时间间隔为相同值,即移动终端在接收到扫描请求后,启动定时器顺延相同的时间处理。例如,移动终端在接收到第一扫描请求后,检测在第一时间间隔5毫秒内是否接收到第二扫描请求;若接收到第二扫描请求,则检测在第二时间间隔5毫秒内是否接收到第三扫描请求,以此类推。
[0202] 图14为另一个实施例中信息处理方法的流程图。如图14所示,一种信息处理方法,包括:
[0203] S1402,接收第一扫描请求。接收到第一扫描请求后,启动定时器延时等待时间T1。
[0204] S1404,延时等待T1。
[0205] S1406,是否接收到第二扫描请求。检测在T1时间间隔内是否接收到第二扫描请求;若是,进入步骤S1408;若否,进入步骤S1410。
[0206] S1408,延时等待T2。在接收到第二扫描请求后,启动定时器延迟等待T2。
[0207] S1410,开启扫描。开启移动终端Wi-Fi扫描,对接收的扫描请求作出反馈。
[0208] S1412,是否接收到第三扫描请求。检测在T2时间间隔内是否接收到第三扫描请求;若是,进入步骤S1414;若否,进入步骤S1410。
[0209] S1414,延时等待T3。检测在T2时间间隔内接收到第三扫描请求,启动定时器延时等待时间T3。
[0210] 以此类推,检测在TN时间间隔内是否接收到第N扫描请求。
[0211] S1416,是否接收到第N扫描请求。若是,进入步骤S1418;若否,进入步骤S1410。
[0212] S1418,延时等待T(N+1)。
[0213] 图15为一个实施例中信息处理方法的流程图。如图15所示,一种信息处理方法,包括步骤S1502至步骤S1506,其中:
[0214] S1502,接收熄屏指令,统计移动终端待机状态下应用程序的Wi-Fi扫描请求次数;
[0215] S1504,检测应用程序的Wi-Fi扫描请求次数是否达到指定值;
[0216] S1506,若检测到应用程序的Wi-Fi扫描请求次数达到指定值,根据指定值对应的操作方式对应用程序执行相应的操作。
[0217] 无线AP拥有唯一的MAC地址,当移动终端开启Wi-Fi扫描后,移动终端可扫描周围的无线AP信号,获取无线AP广播出来的MAC地址,并将获取的无线AP的MAC地址上传服务器。服务器根据无线AP信号强弱以及无线AP的MAC地址可计算移动终端的地理位置信息,并将计算获取的移动终端的位置信息返回移动终端。在移动终端的使用过程中,移动终端中APP会申请获取移动终端的位置信息,即发起Wi-Fi扫描请求。其中,信息处理需要遍历2.4G13个信道,每个信道驻扎40ms-60ms,若移动终端支持双频WI-FI,即5GWI-FI,则需扫描36信道至156信道,造成移动终端功耗增大。
[0218] 当移动终端获取到熄屏指令时,记录在移动终端待机状态下应用程序发起的Wi-Fi扫描请求次数,若检测到应用程序发起的Wi-Fi扫描请求次数达到指定值,判定应用程序发起的Wi-Fi扫描请求次数过于频繁,对发起扫描请求的应用程序执行与指定值对应的操作。
[0219] 本发明实施例中信息处理方法,在移动终端待机状态下检测应用程序的Wi-Fi扫描请求达到指定值,即应用程序的Wi-Fi扫描请求过于频繁时,对应用程序执行相应的操作,避免应用程序的Wi-Fi扫描请求过于频繁造成的移动终端功耗增大。在移动终端待机状态下,应用程序的实时性需求较低。对扫描请求较频繁的应用程序执行相应的操作,即减小的移动终端的待机功耗,由不影响用户体验。
[0220] 在一个实施例中,若指定值为第一阈值,检测到应用程序的Wi-Fi扫描请求次数达到第一阈值,在移动终端界面弹窗提示。若指定值为第二阈值,检测到应用程序的Wi-Fi扫描请求次数达到第二阈值,则停止接收应用程序的扫描请求。若指定值为第三阈值,检测到应用程序的Wi-Fi扫描请求次数达到第三阈值,将应用程序终止运行。
[0221] 应用程序的扫描请求次数达到不同的指定值时,移动终端对应用程序执行的操作指令不同。其中,第二阈值大于第一阈值、第三阈值大于第二阈值。例如,在移动终端待机状态下,检测到应用程序的扫描请求次数为10次,达到第一阈值10,在移动终端界面弹窗提示用户该应用程序耗电较大;检测到应用程序的扫描请求次数为15次,达到第二阈值15,则移动终端在一定时间内不再接收该应用程序发起的扫描请求,如在一个小时内不再接收该应用程序发起的扫描请求;检测到应用程序的扫描请求次数为20次,达到第三阈值20,则移动终端直接终止该应用程序运行。
[0222] 在一个实施例中,移动终端还可计算应用程序的Wi-Fi扫描请求频次,根据应用程序的Wi-Fi扫描请求频次是否达到指定值来对应用程序执行相应的操作。其中,应用程序的Wi-Fi扫描请求频次可根据应用程序的Wi-Fi扫描请求次数和当前待机时长获取。
[0223] 在一个实施例中,上述信息处理方法还包括:检测到移动终端的亮屏指令,将应用程序的Wi-Fi扫描请求次数清零。
[0224] 当移动终端接收到亮屏指令时,将在移动终端待机状态下记录的应用程序的Wi-Fi扫描请求次数清零。以使在移动终端接收到熄屏指令进入待机状态时,重新记录应用程序的Wi-Fi扫描请求次数。
[0225] 图16为另一个实施例中信息处理方法的流程图。如图16所示,一种信息处理方法,其特征在于,包括步骤S1602至步骤S1604。其中:
[0226] S1602,接收移动终端的熄屏指令,记录移动终端待机状态下应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数。
[0227] S1604,接收移动终端的亮屏指令,根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取应用程序的待机功耗信息。
[0228] 唤醒锁是Android系统的一种机制,当系统中应用持有唤醒锁时,系统无法进入休眠状态,当系统中所有的唤醒锁都被释放后,系统才能进入休眠状态。唤醒闹钟也称RTC(Real Time Clock,实时闹钟)闹钟,唤醒闹钟在硬件电路上单独供电,在移动终端待机状态下,唤醒闹钟可将系统唤醒。应用持有唤醒锁和唤醒闹钟唤醒移动终端都会增大移动终端的待机功耗。
[0229] 当接收到移动终端熄屏指令时,移动终端检测并记录各个应用程序是否持有唤醒锁,应用程序申请唤醒锁的时刻、应用程序释放唤醒锁的时刻以及应用程序对应的触发的唤醒闹钟的次数。其中,在Android系统中,唤醒锁由PowerManagerService管理,在PowerManagerService中记录有应用程序申请唤醒锁的时刻、应用程序释放唤醒锁的时刻,根据应用程序申请唤醒锁的时刻和释放唤醒锁的时刻可得到应用程序持有唤醒锁的时长。唤醒闹钟都是由AlarmManagerService管理,在AlarmManagerService中记录有唤醒闹钟的相关信息,如唤醒闹钟被触发的时刻,触发唤醒闹钟的应用程序标识等。根据记录的唤醒闹钟的相关信息可获取在待机状态下各个应用程序触发唤醒闹钟的次数。
[0230] 当接收到移动终端的亮屏指令时,根据移动终端待机状态下应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数可计算获取应用程序的待机功耗信息,并根据应用程序的待机功耗信息对应用程序执行相应的操作。
[0231] 在一个实施例中,应用程序的待机功耗信息包括:应用程序持有唤醒锁的时长占所有应用程序持有唤醒锁的总时长的比值、应用程序触发唤醒闹钟的次数占所有应用程序触发唤醒闹钟的总次数的比值、根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取的应用程序的耗电指数。
[0232] 根据记录的在移动终端待机状态下各个应用程序持有唤醒锁的时长和各个应用程序触发唤醒闹钟的次数可计算应用程序持有唤醒锁的总时长和应用程序触发唤醒锁的总次数,再计算可获取应用程序持有唤醒锁的时长占总时长的比值,应用程序触发唤醒闹钟的次数占总次数的比值。其中,对应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数可设定权重因子,对应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数加权计算获取应用程序的耗电指数。
[0233] 在一个实施例中,上述信息处理方法还包括:根据应用程序的待机功耗信息将应用程序对应的应用程序标识在移动终端界面排序展示。
[0234] 根据获取的应用程序的待机功耗信息可将应用程序排序,例如,根据应用程序持有唤醒锁的时长的比值、根据应用程序触发唤醒闹钟的次数的比值、应用程序的耗电指数对应用程序进行排序,并将排序结果在移动终端界面展示。其中,可依据单个值对应用程序进行排序,也可以依据多个值的对应用程序进行排序。例如,根据应用程序持有唤醒锁的时长的比值对应用程序进行排序;根据应用程序触发唤醒闹钟的次数的比值对应用程序进行排序;根据应用程序持有唤醒锁的时长的比值、应用程序触发唤醒闹钟的次数的比值和应用程序的耗电指数的加权平均值对应用程序进行排序。通常情况下,按待机功耗由高到低对应用程序进行排序。
[0235] 在一个实施例中,在根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取应用程序的待机功耗信息之前,上述信息处理方法还包括:检测移动终端待机状态下消耗的电流值是否达到指定值;若是,则根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取应用程序的待机功耗信息。
[0236] 在获取应用程序的待机功耗信息之前,可判定移动终端待机状态下消耗的电流值是否达到指定值;若移动终端待机状态下消耗的电流值达到指定值,则判定移动终端待机功耗异常,获取移动终端待机状态下应用程序的待机功耗信息。通过判定移动终端待机状态下电流值,在待机电流异常的时候再获取应用程序的待机功耗信息,获取的信息更准确。
[0237] 在一个实施例中,在根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取应用程序的待机功耗信息之前,上述信息处理方法还包括:检测移动终端的待机时长是否达到预设时长;若是,则根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取应用程序的待机功耗信息。
[0238] 在获取应用程序的待机功耗之前,可判定移动终端的待机时长是否达到预设时长,在移动终端的待机时长达到预设时长时获取应用程序中待机功耗信息,可使获取的应用程序的待机功耗信息更准确。
[0239] 图17为另一个实施例中信息处理方法的流程图。如图17所示,一种信息处理方法,包括步骤S1702至步骤S1706。其中:
[0240] S1702,获取应用程序在移动终端待机状态下持有唤醒锁的时长和应用程序触发唤醒闹钟的次数;
[0241] S1704,根据持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获得应用程序的耗电指数。
[0242] S1706,若检测到应用程序的耗电指数达到预设值,根据与预设值对应的操作指令对应用程序执行相应的操作。
[0243] 移动终端可对应用程序持有的唤醒锁和应用程序触发的唤醒闹钟进行监控。当检测到应用程序申请唤醒锁、释放唤醒锁、应用程序触发唤醒闹钟时,可实时进行相应的记录。其中,在Android系统中,唤醒锁由PowerManagerService管理,在PowerManagerService中记录有应用程序申请唤醒锁的时刻、应用程序释放唤醒锁的时刻,根据应用程序申请唤醒锁的时刻和释放唤醒锁的时刻可得到应用程序持有唤醒锁的时长。唤醒闹钟都是由AlarmManagerService管理,在AlarmManagerService中记录有唤醒闹钟的相关信息,如唤醒闹钟被触发的时刻,触发唤醒闹钟的应用程序标识等。根据记录的唤醒闹钟的相关信息可获取在待机状态下各个应用程序触发唤醒闹钟的次数。根据应用程序在待机状态下持有唤醒锁的时长和应用程序触发唤醒闹钟的次数可计算应用程序的耗电指数。当检测到应用程序的耗电指数达到预设值,则可根据应用程序达到的耗电指数的值对应用程序执行相应的操作。
[0244] 在记录应用程序触发的唤醒闹钟时,只记录与应用程序强相关的唤醒锁和唤醒闹钟。具体地,可根据应用程序的包名判断应用程序触发的唤醒闹钟是否强相关。例如,微信的包名为com.tencent.mm,第一个字段com表示商业;第二个字段表示公司名,如tencent为腾讯公司;第三个字段mm表示微信这个应用,应用程序的包名前三个字段相同表示同一个应用。应用程序在申请唤醒锁和触发唤醒闹钟时都会带有应用程序的包名信息,若包名的前三个字段相同,则判定为同一个应用程序,记录为与该应用程序强相关。
[0245] 在一个实施例中,根据应用程序在移动终端待机状态下持有唤醒锁的时长和应用程序触发唤醒闹钟的次数计算应用程序的耗电指数包括:接收移动终端的熄屏指令,记录应用程序申请唤醒锁的时刻、释放唤醒锁的时刻以及应用程序触发唤醒锁的次数;接收移动终端的亮屏指令,根据应用程序申请唤醒锁的时刻、释放唤醒锁的时刻获取应用程序持有唤醒锁的时长;根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数计算应用程序的耗电指数,耗电指数与应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数正相关。
[0246] 在一个实施例中,根据应用程序在移动终端待机状态下持有唤醒锁的时长和应用程序触发唤醒闹钟的次数计算应用程序的耗电指数包括:根据预设的唤醒锁因子、预设的唤醒闹钟因子、应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数计算应用程序的耗电指数。
[0247] 应用程序的耗电指数w与预设的唤醒锁因子α、预设的唤醒闹钟因子β、应用程序持有唤醒锁的时长wl、应用程序触发唤醒闹钟的次数wa之间的关系为w=α*wl+β*wa。其中,不同移动终端中预设的唤醒锁因子α、预设的唤醒闹钟因子β不同。例如,在移动终端中α=0.3,β=0.7,在移动终端待机状态下,应用程序持有唤醒锁的时间为2345ms,应用程序触发唤醒闹钟的次数为23次,则应用程序的耗电因子w=0.3*2345+0.7*23=719.6。
[0248] 在一个实施例中,预设的唤醒锁因子、预设的唤醒闹钟因子由以下步骤获取:根据移动终端被唤醒状态下单位时间内耗电量和移动终端被唤醒的耗电量计算预设的唤醒锁因子、预设的唤醒闹钟因子。
[0249] 根据移动终端被唤醒状态下单位时间内耗电量a和移动终端被唤醒的耗电量b可计算预设的唤醒锁因子α、预设的唤醒闹钟因子β。其中,α=a/(a+b),β=b/(a+b)。根据移动终端在待机状态下的测试数据可获取唤醒锁因子和唤醒闹钟因子。
[0250] 在一个实施例中,根据与预设值对应的操作指令对应用程序执行相应的操作包括:若预设值为第一阈值,在移动终端界面弹窗提示;若预设值为第二阈值,禁止应用程序运行。
[0251] 若检测到应用程序的耗电指数达到第一阈值,在移动终端界面弹窗提示用户应用程序的耗电指数过高;当应用程序的耗电指数达到第二阈值,则禁止该应用程序运行。其中,第二阈值大于第一阈值。在另一个实施例中,对应用程序的耗电指数设定一个指定值,当检测到应用程序的耗电指数达到指定值,则在移动终端界面弹窗提示或禁止应用程序运行。在其他实施例中,还可设置多个阈值,在应用程序的耗电指数达到不同阈值时,对应用程序执行不同的操作指令。
[0252] 在一个实施例中,对应用程序可设置白名单,移动终端不会监测待机状态下白名单内应用程序的耗电指数。当应用程序在进行后台下载、后台播放音频等操作时,可以避免应用程序待机状态下耗电指数过高被终止运行。
[0253] 图18为一个实施例中信息处理装置的结构框图。如图18所示,一种信息处理装置,包括检测模块1802和第一判定模块1804。其中:
[0254] 检测模块1802,用于若检测到移动终端在待机状态下的第一电流值与第二电流值之差大于第一阈值,检测第一电流值与移动终端在待机状态下的第三电流值之差是否大于第二阈值;其中,第一电流值为移动终端在待机状态下实际消耗的平均电流值,第二电流值为移动终端在待机状态下的基准电流值,第三电流值为移动终端在待机状态下的场景电流值。
[0255] 第一判定模块1804,用于若第一电流值与第三电流值之差大于第二阈值,根据移动终端在待机状态下唤醒源的唤醒次数、移动终端的睡眠时间判定移动终端的耗电类型。
[0256] 在一个实施例中,第一判定模块1804还用于检测唤醒源的唤醒次数是否达到指定值;若是,根据唤醒次数最多的唤醒源判定移动终端的耗电类型;若否,检测第一电流值和移动终端的睡眠时间是否符合预设规则;若符合预设规则,记录移动终端的耗电类型为硬件异常耗电。
[0257] 在一个实施例中,第一判定模块1804还用于获取唤醒次数最多的唤醒源中各子唤醒源的唤醒次数和唤醒各子唤醒源的应用程序;根据各子唤醒源的唤醒次数和唤醒各子唤醒源的应用程序判定移动终端的耗电类型。
[0258] 图19为另一个实施例中信息处理装置的结构框图,如图19所示,一种信息处理装置,包括检测模块1902、第一判定模块1904、第二判定模块1906和获取模块1908。其中检测模块1902和第一判定模块1904与图18中对应的模块功能相同。
[0259] 第二判定模块1906,用于若检测到第一电流值与第三电流值之差小于第二阈值,根据第三电流值判定移动终端的耗电类型。
[0260] 获取模块1908,用于检测到移动终端的待机时长大于预设时长,获取第一电流值和第二电流值。
[0261] 上述信息处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将信息处理装置按照需要划分为不同的模块,以完成上述信息处理装置的全部或部分功能。
[0262] 图20为一个实施例中信息处理装置的结构框图。如图20所示,一种信息处理装置,包括接收模块2002、更新模块2004和停止检测模块2006。其中:
[0263] 接收模块2002,用于接收移动终端的熄屏指令,将连接无线保真Wi-Fi的状态信息统计次数清零;
[0264] 更新模块2004,用于若检测连接Wi-Fi的状态信息变化,更新连接Wi-Fi的状态信息的统计次数;
[0265] 停止检测模块2006,用于接收移动终端的亮屏指令,停止检测连接Wi-Fi的状态信息。
[0266] 在一个实施例中,连接Wi-Fi的状态信息包括:组密钥、动态主机配置协议DHCP续租和Wi-Fi连接状态中至少一种。
[0267] 图21为另一个实施例中信息处理装置的结构框图。如图21所示,一种信息处理装置,包括接收模块2102、更新模块2104、停止检测模块2106、第一提示模块2108、第二提示模块2110和第三提示模块2112。其中,接收模块2102、更新模块2104和停止检测模块2106与图20中对应的模块功能相同。
[0268] 更新模块2104还用于若检测到组密钥变化,将组密钥变化的统计次数加1;第一提示模块2108,用于若检测到组密钥变化的统计次数达到第一阈值,在移动终端界面显示提示。
[0269] 更新模块2104还用于若检测到DHCP续租,将DHCP续租的统计次数加1;第二提示模块2110,用于若检测到DHCP续租的统计次数达到第二阈值,在移动终端界面显示提示。
[0270] 更新模块2104还用于若检测到Wi-Fi断开连接,将Wi-Fi连接状态的统计次数加1;第三提示模块2112,用于若检测到Wi-Fi连接状态的统计次数达到第三阈值,在移动终端界面显示提示框或禁止连接当前Wi-Fi。
[0271] 上述信息处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将信息处理装置按照需要划分为不同的模块,以完成上述信息处理装置的全部或部分功能。
[0272] 图22为一个实施例中信息处理装置的结构框图。如图22所示,一种信息处理装置,包括检测模块2202,开启模块2204。其中:
[0273] 检测模块2202,用于在移动终端待机状态下接收扫描请求,检测在扫描请求对应的时间间隔内是否接收到除已接收扫描请求外的扫描请求。
[0274] 开启模块2204,用于若未接收到除已接收扫描请求外的扫描请求,开启移动终端无线保真Wi-Fi扫描。
[0275] 在一个实施例中,开启模块2204还用于若检测到当前已接收扫描请求的个数达到指定值,开启移动终端Wi-Fi扫描。
[0276] 在一个实施例中,开启模块2204还用于根据接收扫描请求的时刻获取扫描请求等待时长;若检测到扫描请求等待时长达到指定时长,开启移动终端Wi-Fi扫描。
[0277] 在一个实施例中,不同扫描请求对应的时间间隔为不同值。
[0278] 在一个实施例中,不同扫描请求对应的时间间隔为相同值。
[0279] 上述信息处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将信息处理装置按照需要划分为不同的模块,以完成上述信息处理装置的全部或部分功能。
[0280] 图23为一个实施例中信息处理装置的结构框图。如图23所示,一种信息处理装置,包括执行模块2302、检测模块2304、执行模块2306和清零模块2308。其中:
[0281] 接收模块2302,用于接收熄屏指令,统计移动终端待机状态下应用程序的Wi-Fi扫描请求次数;
[0282] 检测模块2304,用于检测应用程序的Wi-Fi扫描请求次数是否达到指定值;
[0283] 执行模块2306,用于若检测到应用程序的Wi-Fi扫描请求次数达到指定值,根据指定值对应的操作方式对应用程序执行相应的操作。
[0284] 在一个实施例中,若指定值为第一阈值,检测到应用程序的Wi-Fi扫描请求次数达到第一阈值,在移动终端界面弹窗提示。
[0285] 在一个实施例中,若指定值为第二阈值,检测到应用程序的Wi-Fi扫描请求次数达到第二阈值,则停止接收应用程序的扫描请求。
[0286] 在一个实施例中,若指定值为第三阈值,检测到应用程序的Wi-Fi扫描请求次数达到第三阈值,将应用程序终止运行。
[0287] 清零模块2308,用于检测到移动终端的亮屏指令,将应用程序的Wi-Fi扫描请求次数清零。
[0288] 上述信息处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将信息处理装置按照需要划分为不同的模块,以完成上述信息处理装置的全部或部分功能。
[0289] 图24为一个实施例中信息处理装置的结构框图。如图24所示,一种信息处理装置,包括记录模块2402和获取模块2404。其中:
[0290] 记录模块2402,用于接收移动终端的熄屏指令,记录移动终端待机状态下应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数;
[0291] 获取模块2404,用于接收移动终端的亮屏指令,根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取应用程序的待机功耗信息。
[0292] 在一个实施例中,应用程序的待机功耗信息包括:应用程序持有唤醒锁的时长占所有应用程序持有唤醒锁的总时长的比值、应用程序触发唤醒闹钟的次数占所有应用程序触发唤醒闹钟的总次数的比值、根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取的应用程序的耗电指数。
[0293] 图25为另一个实施例中信息处理装置的结构框图。如图25所示,一种信息处理装置,包括记录模块2502、获取模块2504、展示模块2506、第一检测模块2508和第二检测模块2510。其中记录模块2502和获取模块2504与图24中对应的模块功能相同。
[0294] 展示模块2506,用于根据应用程序的待机功耗信息将应用程序对应的应用程序标识在移动终端界面排序展示。
[0295] 第一检测模块2508,用于检测移动终端待机状态下消耗的电流值是否达到指定值;若是,则获取模块用于根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取应用程序的待机功耗信息。
[0296] 第二检测模块2510,用于检测移动终端的待机时长是否达到预设时长;若是,则获取模块用于根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取应用程序的待机功耗信息。
[0297] 上述信息处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将信息处理装置按照需要划分为不同的模块,以完成上述信息处理装置的全部或部分功能。
[0298] 图26为另一个实施例中信息处理装置的结构框图。如图26所示,一种信息处理装置,包括获取模块2602、计算模块2604和操作模块2606。其中:
[0299] 获取模块2602,用于获取应用程序在移动终端待机状态下持有唤醒锁的时长和应用程序触发唤醒闹钟的次数;
[0300] 计算模块2604,用于根据持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获得应用程序的耗电指数;
[0301] 操作模块2606,用于若检测到应用程序的耗电指数达到预设值,根据与预设值对应的操作指令对应用程序执行相应的操作。
[0302] 在一个实施例中,计算模块2604还用于接收移动终端的熄屏指令,记录应用程序申请唤醒锁的时刻、释放唤醒锁的时刻以及应用程序触发唤醒锁的次数;接收移动终端的亮屏指令,根据应用程序申请唤醒锁的时刻、释放唤醒锁的时刻获取应用程序持有唤醒锁的时长;根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数计算应用程序的耗电指数,耗电指数与应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数正相关。
[0303] 在一个实施例中,计算模块2604还用于:根据预设的唤醒锁因子、预设的唤醒闹钟因子、应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数计算应用程序的耗电指数。
[0304] 在一个实施例中,预设的唤醒锁因子、预设的唤醒闹钟因子由以下步骤获取:根据移动终端被唤醒状态下单位时间内耗电量和移动终端被唤醒的耗电量计算预设的唤醒锁因子、预设的唤醒闹钟因子。
[0305] 在一个实施例中,操作模块2606还用于:若预设值为第一阈值,在移动终端界面弹窗提示;若预设值为第二阈值,禁止应用程序运行。
[0306] 上述信息处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将信息处理装置按照需要划分为不同的模块,以完成上述信息处理装置的全部或部分功能。
[0307] 图27为与本发明实施例提供的移动终端相关的手机的部分结构的框图。参考图27,手机包括:射频(Radio Frequency,RF)电路2710、存储器2720、输入单元2730、显示单元
2740、传感器2750、音频电路2760、无线保真模块2770、处理器2780、以及电源2790等部件。
本领域技术人员可以理解,图27所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0308] 其中,RF电路2710可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器2780处理;也可以将上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路2710还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile Communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
[0309] 存储器2720可用于存储软件程序以及模块,处理器2780通过运行存储在存储器2720的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器2720可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器2720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0310] 输入单元2730可用于接收输入的数字或字符信息,以及产生与手机2700的用户设置以及功能控制有关的键信号输入。具体地,输入单元2730可包括触控面板2731以及其他输入设备2732。触控面板2731,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板2731上或在触控面板2731附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,触控面板2731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器2780,并能接收处理器2780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板2731。除了触控面板2731,输入单元2730还可以包括其他输入设备2732。具体地,其他输入设备2732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。
[0311] 显示单元2740可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元2740可包括显示面板2741。在一个实施例中,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板2741。在一个实施例中,触控面板2731可覆盖显示面板2741,当触控面板2731检测到在其上或附近的触摸操作后,传送给处理器2780以确定触摸事件的类型,随后处理器2780根据触摸事件的类型在显示面板2741上提供相应的视觉输出。虽然在图27中,触控面板2731与显示面板2741是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板2731与显示面板2741集成而实现手机的输入和输出功能。
[0312] 手机2700还可包括至少一种传感器2750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板2741的亮度,接近传感器可在手机移动到耳边时,关闭显示面板2741和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。
[0313] 音频电路2760、扬声器2761和传声器2762可提供用户与手机之间的音频接口。音频电路2760可将接收到的音频数据转换后的电信号,传输到扬声器2761,由扬声器2761转换为声音信号输出;另一方面,传声器2762将收集的声音信号转换为电信号,由音频电路2760接收后转换为音频数据,再将音频数据输出处理器2780处理后,经RF电路2710可以发送给另一手机,或者将音频数据输出至存储器2720以便后续处理。
[0314] Wi-Fi属于短距离无线传输技术,手机通过Wi-Fi模块2770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图27示出了Wi-Fi模块2770,但是可以理解的是,其并不属于手机2700的必须构成,可以根据需要而省略。
[0315] 处理器2780是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器2720内的软件程序和/或模块,以及调用存储在存储器2720内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。在一个实施例中,处理器2780可包括一个或多个处理单元。在一个实施例中,处理器2780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器2780中。
[0316] 手机2700还包括给各个部件供电的电源2790(比如电池),优选的,电源可以通过电源管理系统与处理器2780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0317] 在一个实施例中,手机2700还可以包括摄像头、蓝牙模块等。
[0318] 在一个实施例中,移动终端所包括的处理器2780执行程序时可以实现一种信息处理方法,包括:
[0319] (1)若检测到移动终端在待机状态下的第一电流值与第二电流值之差大于第一阈值,检测第一电流值与移动终端在待机状态下的第三电流值之差是否大于第二阈值。其中,第一电流值为移动终端在待机状态下实际消耗的平均电流值,第二电流值为移动终端在待机状态下的基准电流值,第三电流值为移动终端在待机状态下的场景电流值。
[0320] 移动终端在待机状态下时,会检测移动终端当前待机状态是否符合预设条件;若符合预设条件,则判定移动终端待机状态下第一电流值与第二电流值之差是否大于第一阈值。其中,预设条件可包括:移动终端的待机时长是否达到预设时长、移动终端待机状态是否为预设的待机状态等。预设的待机状态可包括:后台音乐播放、后台下载、移动终端开启Modem Log等。若移动终端待机状态为预设的待机状态,移动终端中电流消耗值较大,无需监控移动终端中电流消耗值,则不获取移动终端的第一电流值和第二电流值。判定移动终端待机状态是否为预设的待机状态可包括:若检测到在移动终端待机状态时有音频输出,间隔指定时间后再次检测到移动终端中有音频输出,则判定移动终端当前待机状态为后台音乐播放;若检测到在移动终端待机状态时Wi-Fi(Wireless-Fidelity,无线保真)流量超过30M/h(MByte/hour,兆/小时),或数据网络流量超过20M/h,则判定移动终端当前待机状态为后台下载。
[0321] 第一电流值可根据移动终端的待机时间和待机时间内消耗的总电流值获取;第二电流值可根据移动终端在待机状态下开启的程序功能以及程序功能对应的电流值获取。移动终端中预存有待机状态下程序功能对应的电流值,根据移动终端待机状态下开启的应用程序功能可查找程序功能对应的电流值,再根据程序功能对应的电流值可计算第二电流值。其中,应用程序功能对应的电流值均为移动终端硬件状态的运行数据,可将应用程序功能对应的电流值写入移动终端已有的耗电类型文件,如:vendor/oppo/overlay/项目代号/frameworks/base/core/res/res/xml/power_profile.xml文件中。
[0322] 不同移动终端中硬件、系统、版本、电量计的差异可导致应用程序功能对应给的电流值差异,因此,不同移动终端中程序功能对应的电流值不同。根据程序功能对应的电流值计算的第二电流值带有浮动值。影响第二电流值的浮动值的因子包括:待机时长T、第二电流值I、电池电容量C和电量计误差值n%。第二电流值的浮动值ΔT与上述因子的函数关系为:
[0323]
[0324] 例如,电池电容量C为3000mAh(milli-Ampere-hour,毫安时),待机时长T为5小时,第二电流值I为12mA,电量计误差值为1%,则第二电流值的浮动值为当检测到移动终端第一电流值与第二电流值之差大于浮动值,即判定移动终端第一电流值与第二电流值之差大于第一阈值,获取移动终端在待机状态下第三电流值,检测第一电流值与第三电流值之差是否大于第二阈值。例如,移动终端待机时第一电流值为20mA,第二电流值为12mA,第二电流值的浮动值为6mA,则第一电流值与第二电流值之差为8mA,则第一电流值与第二电流值之差大于第二电流值的浮动值,获取移动终端的第三电流值。
[0325] 第三电流值是指移动终端在待机状态下的场景电流值,移动终端在待机状态下场景可包括:Wi-Fi扫描次数、Wi-Fi内组密钥交互次数、Wi-Fi续租次数、短信重发次数等,不限于此。移动终端可根据待机状态下的场景获取对应的电流值,将待机状态下的各场景对应的电流值累加即可得到第三电流值。例如,移动终端在待机状态下Wi-Fi扫描次数为10次,其对应的场景电流值为1mA;移动终端在待机状态下Wi-Fi续租次数为5次,其对应的场景电流值为1mA;则移动终端在待机状态下第三电流值为2mA。
[0326] (2)若第一电流值与第三电流值之差大于第二阈值,根据移动终端在待机状态下唤醒源的唤醒次数、移动终端的睡眠时间判定移动终端的耗电类型。
[0327] 第二阈值可根据需要设定。在一个实施例中,第二阈值可为第二电流值、第二电流浮动值和指定值之和。第一电流值与第三电流值之差大于第二阈值即为第一电流值与第三电流值之差大于第二电流值、第二电流浮动值和指定值之和。。例如,第一电流值为25mA,第二电流值为12mA,第二电流值的浮动值为6mA,第三电流值为3mA,指定值为3mA,第一电流值与第三电流值之差为22mA,第二电流值、第二电流值的浮动值和指定值之和为21mA,第一电流值与第三电流值之差大于第二阈值,则根据移动终端在待机状态下唤醒源的唤醒次数、移动终端的睡眠时间比判定移动终端的耗电类型。
[0328] 移动终端待机状态下唤醒源包括AP(Wireless Access Point,无线访问接入点)唤醒、Wi-Fi唤醒、Modem唤醒、电源键唤醒等,不限于此。移动终端可实时记录在待机状态下各唤醒源的唤醒次数以及唤醒各唤醒源的应用程序。
[0329] 移动终端实时记录的数据存储于移动终端的存储模块内。上述存储模块包括关键分区存储模块、临时交互文件节点和唤醒源统计接口。关键分区存储模块用于存储已识别的耗电类型和未识别的耗电类型。临时交互文件节点用于存储在待机状态下各唤醒源的唤醒次数以及唤醒各唤醒源的应用程序,临时交互文件节点用于暂时存储移动终端待机状态下数据,当检测到移动终端亮屏时,临时交互文件节点内数据清空。唤醒源统计接口用于统计各唤醒源的唤醒次数,并通过系统接口提供给移动终端读取。当移动终端获取到熄屏指令时,将唤醒源统计接口记录的各个唤醒源的唤醒次数清零;当检测到移动终端被唤醒时,识别出对应的唤醒源,并将记录唤醒源的唤醒次数加1,将唤醒次数最多的唤醒源提供给移动终端读取。其中,唤醒源统计接口的节点可为···/sys/kernel/wakeup_reasons/ap_resume_reason_stastics。
[0330] 移动终端的睡眠时间比是指移动终端待机状态下睡眠时长占待机时长的比例。根据移动终端在待机状态下唤醒次数最多的唤醒源、移动终端的睡眠时间比和第一电流值可判定移动终端的耗电类型。
[0331] 本发明实施例中移动终端,通过检测移动终端待机状态下实际消耗的电流值与基准电流值、场景电流值的差值,再根据移动终端待机状态下唤醒源的唤醒次数、移动终端的睡眠时间比判定移动终端的耗电类型,可以便捷的监测移动终端的耗电类型。
[0332] 在一个实施例中,移动终端可将判定的移动终端的耗电类型上传服务器。
[0333] 移动终端可通过Log上传工具Stethoscope将数据上传至服务器,每份Log以缺陷方式提交到数据库对应项目区域。当移动终端检测到耗电异常,移动终端可判定移动终端的耗电类型并在移动终端界面弹出提示框,用于提示用户连接网络并自动上传Log。当自动上传Log多次失败时,移动终端仅自动上传关键信息,如移动终端的耗电类型和相应的耗电量,并在移动终端界面弹窗提示用户手动上传移动终端的耗电类型信息。移动终端按照预设的时间间隔上传移动终端的耗电类型,如移动终端每隔24小时上传一次监控获得的移动终端的耗电类型。移动终端还可通过弹窗提示提醒用户移动终端耗电异常。Log为移动终端中日志文件,可记录移动终端中操作系统和应用程序的操作信息;本实施例中,Log中可记载移动终端的耗电类型信息。其中,当移动终端内关键分区存储模块Log开关关闭时,移动终端不弹窗提醒;当移动终端系统版本为Release版本时,即Log开关打开,移动终端也不弹窗提醒;当移动终端系统版本为送测版本或特殊版本时,移动终端不弹窗提醒。如表4所示,为移动终端送测版本和特殊版本以及识别Feature。
[0334] 在一个实施例中,图2中步骤S204根据移动终端在待机状态下唤醒源的唤醒次数、移动终端的睡眠时间判定移动终端的耗电类型包括:检测唤醒源的唤醒次数是否达到指定值;若是,根据唤醒次数最多的唤醒源判定移动终端的耗电类型;若否,检测第一电流值和移动终端的睡眠时间是否符合预设规则;若符合预设规则,记录移动终端的耗电类型为硬件异常耗电。
[0335] 在移动终端的待机状态下,若移动终端中唤醒源的唤醒次数达到指定值,根据唤醒次数最多的唤醒源判定移动终端的耗电类型。如移动终端待机状态下,移动终端中Wi-Fi唤醒次数为16次/小时、Modem唤醒次数达到15次/小时、AP唤醒次数达到10次/小时,Wi-Fi唤醒和Modem唤醒的次数超过15次/小时,则根据唤醒次数最多的Wi-Fi唤醒判定移动终端的耗电类型为Wi-Fi唤醒耗电。若移动终端中唤醒源的唤醒次数均未达到指定值,检测第一电流值和移动终端的睡眠时间比是否符合预设规则,如第一电流值是否超过22mA,睡眠时间比是否超过99%等。若第一电流值超过22mA,且移动终端在待机状态时睡眠比超过99%,则判定移动终端的耗电类型为硬件异常耗电。
[0336] 在一个实施例中,上述根据唤醒次数最多的唤醒源判定移动终端的耗电类型包括:获取唤醒次数最多的唤醒源中各子唤醒源的唤醒次数和唤醒各子唤醒源的应用程序;根据各子唤醒源的唤醒次数和唤醒各子唤醒源的应用程序判定移动终端的耗电类型。
[0337] 移动终端中各唤醒源中包括子唤醒源。如Wi-Fi唤醒源中包括数据包唤醒wlan_wakeup_src_count[DATA_TYPE_STASTIC]、管理包唤醒wlan_wakeup_src_count[MGMT_TYPE_STASTIC]、固件唤醒wlan_wakeup_src_count[EVENT_TYPE_STASTIC]和其他类型唤醒wlan_wakeup_src_count[UNKNOWN_TYPE_STASTIC]。如图4所示,当移动终端接收到熄屏指令时,移动终端调用wlan接口wlan_clear_wakesrc_count()将Wi-Fi唤醒源中各子唤醒源的唤醒次数清零。在移动终端的待机状态下,当Wi-Fi唤醒源唤醒移动终端时,移动终端可检测唤醒移动终端的Wi-Fi唤醒源中对应的子唤醒源,并将子唤醒源的唤醒次数对应加1。当移动终端接收到亮屏指令时,将唤醒源中各子唤醒源的唤醒次数写入存储模块中临时交互文件节点···/sys/kernel/wakeup_reasons/conn_resume_reason_stastics,并通过唤醒源统计接口提供给移动终端读取。
[0338] 当移动终端检测到在待机状态下唤醒次数最多的唤醒源后,进一步获取唤醒次数最多的唤醒源中各子唤醒源的唤醒次数以及唤醒子唤醒源的应用程序,对各子唤醒源的唤醒次数和唤醒子唤醒源的应用程序进行统计分析,并将统计分析结果上传服务器。例如,移动终端在待机状态下唤醒次数最多的唤醒源是Wi-Fi唤醒源、唤醒次数为30次,进一步的获取到Wi-Fi唤醒源中数据包唤醒为15次,管理包唤醒为5次,固件唤醒为5次,其他类型唤醒为5次。获取在移动终端待机状态下数据包唤醒对应的应用程序为QQ、微博。则判定移动终端的耗电类型为Wi-Fi唤醒耗电,具体地,是移动终端中应用程序QQ和微博频繁进行数据包唤醒造成的耗电。
[0339] 在一个实施例中,移动终端所包括的处理器2780在实现一种信息处理方法时还执行以下步骤:若检测到第一电流值与第三电流值之差小于第二阈值,根据第三电流值判定移动终端的耗电类型。
[0340] 当第一电流值与第三电流值之差小于第二阈值,即第一电流值减去第二电流值、第二电流值的浮动值,再减去第三电流值之后,所得到的差值小于指定值。即第一电流值与第三电流值之差在浮动范围内,则根据第三电流值判定移动终端的耗电类型。例如,在移动终端待机状态下第一电流值为22mA,第二电流值为12mA,第二电流值的浮动值为6mA,第三电流值为3mA,指定值为3mA,则第一电流值减去第二电流值、第二电流值的浮动值后,再减去第三电流值所得到的差值为1mA,小于指定值3mA,即第一电流值与第三电流值之差在浮动范围内,则获取第三电流值中对应的各场景的电流值,如第三电流值3mA包括Wi-Fi扫描次数10次1mA、Wi-Fi续租次数5次1mA、组密钥交互10次1mA,则判定移动终端的耗电类型为Wi-Fi扫描频繁、Wi-Fi续租频繁和组密钥交互频繁。移动终端可将判定的移动终端的耗电类型信息记录在存储分区的关键分区存储模块并上传服务器。如移动终端的耗电类型为Wi-Fi扫描频繁,Wi-Fi扫描次数为10次,对应的耗电量为1mA。
[0341] 本发明实施例中移动终端,根据已知的场景耗电来判定移动终端的耗电类型,可统计分析移动终端已知场景的耗电情况,根据统计分析结果有利于对移动终端进行改进。
[0342] 在一个实施例中,移动终端所包括的处理器2780在实现一种信息处理方法时还执行以下步骤:检测到移动终端的待机时长大于预设时长,获取第一电流值和第二电流值。
[0343] 当移动终端接收到熄屏指令,移动终端开始监测待机状态下移动终端的耗电量;若在预设的时间间隔内移动终端接收到亮屏的指令,移动终端清除在待机状态下记录的数据,即移动终端的待机时长大于预设时长时,移动终端监测记录待机状态下数据,并对获取的数据进行分析,判定移动终端的耗电类型。例如,预设时长可为5小时,当移动终端的待机时长大于5小时时,移动终端对检测获取的数据进行分析,判定移动终端的耗电类型。
[0344] 移动终端待机状态下耗电量按照电池耗电的百分比计算,而移动终端中电池的电量随时间非线性衰减,当移动终端中没有电量计时,根据电池耗电的百分比计算移动终端待机状态下耗电量存在较大的误差,如0.5%~1%。
[0345] 本发明实施例中移动终端,通过设定待机时长需要达到的预设时长,可以有效的控制电流值的误差,提高计算的精确度。
[0346] 在一个实施例中,移动终端所包括的处理器2780执行程序时可以实现一种信息处理方法,包括:
[0347] (1)接收移动终端的熄屏指令,将连接Wi-Fi的状态信息统计次数清零。
[0348] (2)若检测连接Wi-Fi的状态信息变化,更新连接Wi-Fi的状态信息的统计次数。
[0349] (3)接收移动终端的亮屏指令,停止检测连接Wi-Fi的状态信息。
[0350] 移动终端可通过Wi-Fi与其他移动终端连接通信。当移动终端连接AP后,可记录AP的SSID(Service Set Identifier,服务集标识)。当移动终端接收到熄屏指令后,记录熄屏时间mScreenOffTime,将移动终端已统计的连接Wi-Fi的状态信息统计次数清零。移动终端可实时检测连接Wi-Fi的状态信息是否变化,若检测到连接Wi-Fi的状态信息变化,则更新连接Wi-Fi的状态信息的统计次数。当移动终端接收到亮屏指令时,可记录移动终端的亮屏时间mScreenOnTime,并停止检测连接Wi-Fi的状态信息。具体地,移动终端中可通过“public int getWi-FiPowerEventCode()”接口供移动终端中耗电模块获取wlan数据,判断移动终端待机状态下存在是否存在移动终端耗电异常。若移动终端接收到熄屏指令与接收到亮屏指令之间时间间隔未达到指定时长,不上报待机状态下移动终端中连接Wi-Fi的状态信息,如熄屏时间未超过20秒,不上报已统计的连接Wi-Fi的状态信息。
[0351] 本发明实施例中移动终端,通过检测在移动终端待机状态下连接Wi-Fi的状态信息的变化,可检测因AP端配置导致的移动终端耗电,有利于检测移动终端的待机功耗。
[0352] 在一个实施例中,上述连接Wi-Fi的状态信息包括:组密钥、动态主机配置协议DHCP续租和Wi-Fi连接状态中至少一种。
[0353] 连接Wi-Fi的状态信息可包括组密钥、动态主机配置协议DHCP续租、Wi-Fi扫描次数和Wi-Fi连接状态中至少一种。无线路由器中Wi-Fi网络会设置组密钥更新周期,即间隔一定的时间更新一次组密钥。其中,组密钥是指Wi-Fi密码的算法。移动终端在连接Wi-Fi时,需要向DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器获取IP(Internet Protocol,网络之间互连的协议)地址,移动终端与无线路由器的IP地址签订有时间限制,移动终端需要向无线路由器续租来继续连接Wi-Fi。通常情况下,无线路由器的IP地址租期为1小时,当移动终端获取IP地址的租期过半时,移动终端会向无线路由器续租,即移动终端获取的IP地址的租期为半个小时时,移动终端会向无线路由器续租。Wi-Fi连接状态是指移动终端是否连接Wi-Fi,当无线路由器的Wi-Fi信号不稳定时,移动终端会频繁断开重连Wi-Fi,造成移动终端耗电。
[0354] 在一个实施例中,若检测连接Wi-Fi的状态信息变化,更新连接Wi-Fi的状态信息的统计次数包括:若检测到组密钥变化,将组密钥变化的统计次数加1;上述信息处理方法还包括:若检测到组密钥变化的统计次数达到第一阈值,在移动终端界面显示提示。
[0355] 在移动终端待机状态下,移动终端检测到当前连接的Wi-Fi中组密钥变化,则将组密钥变化的统计次数mGroupCount加1。在移动终端接收到亮屏指令时,记录亮屏时间mSrceenOnTime,根据移动终端的熄屏时间、亮屏时间和组密钥变化的统计次数可计算出移动终端待机状态下组密钥变化频次mGroupFreq。若组密钥变化频次达到第一阈值如20次/分,则在移动终端界面弹窗提示当前Wi-Fi的组密钥更新过于频繁,提醒用户修改Wi-Fi的组密钥更新周期。
[0356] 在一个实施例中,若检测连接Wi-Fi的状态信息变化,更新连接Wi-Fi的状态信息的统计次数包括:若检测到DHCP续租,将DHCP续租的统计次数加1;上述信息处理方法还包括:若检测到DHCP续租的统计次数达到第二阈值,在移动终端界面显示提示。
[0357] 在移动终端待机状态下,移动终端检测到当前连接的Wi-Fi每发起一次DHCP续租,则将DHCP续租的统计次数mDhcpCount加1。在移动终端接收到亮屏指令时,记录亮屏时间mSrceenOnTime,根据移动终端的熄屏时间、亮屏时间和DHCP续租的统计次数可计算出移动终端待机状态下DHCP续租频次mDhcpFreq。若DHCP续租频次达到第二阈值如40次/分,则在移动终端界面弹窗提示当前Wi-Fi的DHCP租期设置不合理,移动终端续租过于频繁,提醒用户修改当前Wi-Fi的DHCP租期设置。
[0358] 在一个实施例中,若检测连接Wi-Fi的状态信息变化,更新连接Wi-Fi的状态信息的统计次数包括:若检测到Wi-Fi断开连接,将Wi-Fi连接状态的统计次数加1;上述信息处理方法还包括:若检测到Wi-Fi连接状态的统计次数达到第三阈值,在移动终端界面显示提示框或禁止连接当前Wi-Fi。
[0359] 在移动终端待机状态下,移动终端检测到Wi-Fi断开连接时,将重新连接Wi-Fi,并在Wi-Fi连接状态的统计次数mDisconnCount加1。在移动终端接收到亮屏指令时,记录亮屏时间mSrceenOnTime,根据移动终端的熄屏时间、亮屏时间和Wi-Fi连接状态的统计次数可计算出移动终端待机状态下Wi-Fi连接状态变化频次mDisconnFreq。若Wi-Fi连接状态变化频次达到第三阈值如35次/分,则在移动终端界面弹窗提示当前Wi-Fi信号不稳定,建议重启无线路由器或连接其他Wi-Fi;或移动终端在一定时间内禁止连接当前Wi-Fi,如移动终端在一个小时内禁止连接当前Wi-Fi。
[0360] 在一个实施例中,移动终端所包括的处理器2780执行程序时可以实现一种信息处理方法,包括:
[0361] (1)在移动终端待机状态下接收扫描请求,检测在扫描请求对应的时间间隔内是否接收到除已接收扫描请求外的扫描请求。
[0362] (2)若未接收到除已接收扫描请求外的扫描请求,开启移动终端Wi-Fi扫描。
[0363] 当移动终端连接Wi-Fi后,移动终端可利用Wi-Fi来进行移动终端定位。移动终端扫描获取的每一个Wi-Fi拥有唯一的MAC(Media Access Control,媒体访问控制)地址,根据移动终端扫描获取的Wi-Fi的MAC地址以及各个Wi-Fi信号的强弱,可以获取移动终端的位置信息。移动终端中APP(Application,应用程序)需要获取位置信息时,会向移动终端发起扫描请求。在移动终端待机状态下,移动终端中APP频繁发起的扫描请求会造成移动终端耗电。
[0364] 在移动终端待机状态下接收到第一个应用程序发起的扫描请求后,启动定时器将第一应用发起的扫描请求延时第一时间间隔处理,即移动终端检测在第一时间间隔内是否接收到第二应用程序发起的扫描请求;若在第一时间间隔内若接收到第二应用程序发起的扫描请求,则检测在第二时间间隔内是否接收到第三应用程序发起的扫描请求;若在第一时间间隔未接收到第二应用程序的扫描请求,开启移动终端Wi-Fi扫描,使得发起扫描请求的APP可获取移动终端的位置信息。
[0365] 本发明实施例中移动终端,在移动终端待机状态下,接收将移动终端中APP发起的扫描请求,将APP发起的扫描请求延时处理,可以减少移动终端待机状态下由APP频繁发起扫描造成的移动终端耗电,节省移动终端待机状态下功耗,延长移动终端的待机时长。
[0366] 在一个实施例中,移动终端所包括的处理器2780在实现一种信息处理方法时还执行以下步骤:若检测到当前已接收扫描请求的个数达到指定值,开启移动终端Wi-Fi扫描。
[0367] 移动终端若检测到当前已接收的扫描请求的个数超过指定值,则开启移动终端Wi-Fi扫描,使移动终端中发起扫描请求的APP能够获取移动终端的位置信息。通过检测已接收的扫描请求的个数,可以避免移动终端已接收的扫描请求个数较多,扫描请求长时间未得到响应,造成用户体验较差的情况。
[0368] 在一个实施例中,移动终端所包括的处理器2780在实现一种信息处理方法时还执行以下步骤:根据接收扫描请求的时刻获取扫描请求等待时长;若检测到扫描请求等待时长达到指定时长,开启移动终端Wi-Fi扫描。
[0369] 移动终端在接收到APP的扫描请求后,会记录接收到扫描请求的时刻,将当前时刻减去接收到扫描请求的时刻即可得到扫描请求的等待时长,若检测到扫描请求的等待时长超过指定时长,则开启移动终端Wi-Fi扫描。例如,移动终端当前已接收两个应用程序的扫描请求,移动终端接收到第一个应用程序发起的扫描请求的时刻为16:50:56;接收到第二个应用程序发起的扫描请求的时刻为16:51:01。当前时刻为16:51:03。则第一应用程序发起的扫描请求的等待时长为7秒;第二应用程序发起的扫描请求的等待时长为2秒,预设的扫描请求的指定时长为5秒,第一应用程序发起的扫描请求的等待时长达到指定时长,则开启移动终端Wi-Fi扫描,使得第一应用程序和第二应用程序可获取移动终端的位置信息。通过检测已接收的扫描请求等待时长,可以避免移动终端已接收的扫描请求长时间未得到响应,造成用户体验较差的情况。
[0370] 在一个实施例中,移动终端所包括的处理器2780在实现一种信息处理方法时还执行以下步骤:不同扫描请求对应的时间间隔为不同值。
[0371] 移动终端中接收到的扫描请求对应的时间间隔为不同值。具体地,不同扫描请求对应的时间间隔为不同值,即移动终端接收到的第一扫描请求对应的时间间隔、第二扫描请求对应的时间间隔···第N扫描请求对应的时间间隔为不用值。具体地,各扫描请求对应的时间间隔可按照接收顺序逐渐增大、或各扫描请求对应的时间间隔可按照接收顺序逐渐减小、或各扫描请求对应的时间间隔根据各扫描请求的实时性要求分配。例如,移动终端接收到第一扫描请求后,检测在第一时间间隔3秒内是否接收到第二扫描请求;在接收到第二扫描请求后,检测在第二时间间隔2秒内是否接收到第三扫描请求。通过对不同扫描请求设定不同时间间隔,可以对接收到的扫描请求灵活处理,避免移动终端中扫描请求长时间未响应,降低用户体验。
[0372] 在一个实施例中,移动终端所包括的处理器2780在实现一种信息处理方法时还执行以下步骤:不同扫描请求对应的时间间隔为相同值。
[0373] 移动终端接收到的扫描请求对应的时间间隔为相同值,即移动终端在接收到扫描请求后,启动定时器顺延相同的时间处理。例如,移动终端在接收到第一扫描请求后,检测在第一时间间隔5毫秒内是否接收到第二扫描请求;若接收到第二扫描请求,则检测在第二时间间隔5毫秒内是否接收到第三扫描请求,以此类推。
[0374] 在一个实施例中,移动终端所包括的处理器2780执行程序时可以实现一种信息处理方法,包括:
[0375] (1)在移动终端待机状态下检测到应用程序的Wi-Fi扫描请求次数达到指定值。
[0376] (2)根据指定值对应的操作方式对应用程序执行相应的操作。
[0377] 无线AP拥有唯一的MAC地址,当移动终端开启Wi-Fi扫描后,移动终端可扫描周围的无线AP信号,获取无线AP广播出来的MAC地址,并将获取的无线AP的MAC地址上传服务器。服务器根据无线AP信号强弱以及无线AP的MAC地址可计算移动终端的地理位置信息,并将计算获取的移动终端的位置信息返回移动终端。在移动终端的使用过程中,移动终端中APP会申请获取移动终端的位置信息,即发起Wi-Fi扫描请求。其中,信息处理需要遍历2.4G13个信道,每个信道驻扎40ms-60ms,若移动终端支持双频WI-FI,即5GWI-FI,则需扫描36信道至156信道,造成移动终端功耗增大。
[0378] 当移动终端获取到熄屏指令时,记录在移动终端待机状态下应用程序发起的Wi-Fi扫描请求次数,若检测到应用程序发起的Wi-Fi扫描请求次数达到指定值,判定应用程序发起的Wi-Fi扫描请求次数过于频繁,对发起扫描请求的应用程序执行与指定值对应的操作。
[0379] 本发明实施例中移动终端,在移动终端待机状态下检测应用程序的Wi-Fi扫描请求达到指定值,即应用程序的Wi-Fi扫描请求过于频繁时,对应用程序执行相应的操作,避免应用程序的Wi-Fi扫描请求过于频繁造成的移动终端功耗增大。在移动终端待机状态下,应用程序的实时性需求较低。对扫描请求较频繁的应用程序执行相应的操作,即减小的移动终端的待机功耗,由不影响用户体验。
[0380] 在一个实施例中,若指定值为第一阈值,检测到应用程序的Wi-Fi扫描请求次数达到第一阈值,在移动终端界面弹窗提示。若指定值为第二阈值,检测到应用程序的Wi-Fi扫描请求次数达到第二阈值,则停止接收应用程序的扫描请求。若指定值为第三阈值,检测到应用程序的Wi-Fi扫描请求次数达到第三阈值,将应用程序终止运行。
[0381] 应用程序的扫描请求次数达到不同的指定值时,移动终端对应用程序执行的操作指令不同。其中,第二阈值大于第一阈值、第三阈值大于第二阈值。例如,在移动终端待机状态下,检测到应用程序的扫描请求次数为10次,达到第一阈值10,在移动终端界面弹窗提示用户该应用程序耗电较大;检测到应用程序的扫描请求次数为15次,达到第二阈值15,则移动终端在一定时间内不再接收该应用程序发起的扫描请求,如在一个小时内不再接收该应用程序发起的扫描请求;检测到应用程序的扫描请求次数为20次,达到第三阈值20,则移动终端直接终止该应用程序运行。
[0382] 在一个实施例中,移动终端还可计算应用程序的Wi-Fi扫描请求频次,根据应用程序的Wi-Fi扫描请求频次是否达到指定值来对应用程序执行相应的操作。其中,应用程序的Wi-Fi扫描请求频次可根据应用程序的Wi-Fi扫描请求次数和当前待机时长获取。
[0383] 在一个实施例中,移动终端所包括的处理器2780在实现一种信息处理方法时还执行以下步骤:检测到移动终端的亮屏指令,将应用程序的Wi-Fi扫描请求次数清零。
[0384] 当移动终端接收到亮屏指令时,将在移动终端待机状态下记录的应用程序的Wi-Fi扫描请求次数清零。以使在移动终端接收到熄屏指令进入待机状态时,重新记录应用程序的Wi-Fi扫描请求次数。
[0385] 在一个实施例中,移动终端所包括的处理器2780执行程序时可以实现一种信息处理方法,包括:
[0386] (1)接收移动终端的熄屏指令,记录移动终端待机状态下应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数。
[0387] (2)接收移动终端的亮屏指令,根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取应用程序的待机功耗信息。
[0388] 唤醒锁是Android系统的一种机制,当系统中应用持有唤醒锁时,系统无法进入休眠状态,当系统中所有的唤醒锁都被释放后,系统才能进入休眠状态。唤醒闹钟也称RTC(Real Time Clock,实时闹钟)闹钟,唤醒闹钟在硬件电路上单独供电,在移动终端待机状态下,唤醒闹钟可将系统唤醒。应用持有唤醒锁和唤醒闹钟唤醒移动终端都会增大移动终端的待机功耗。
[0389] 当接收到移动终端熄屏指令时,移动终端检测并记录各个应用程序是否持有唤醒锁,应用程序申请唤醒锁的时刻、应用程序释放唤醒锁的时刻以及应用程序对应的触发的唤醒闹钟的次数。其中,在Android系统中,唤醒锁由PowerManagerService管理,在PowerManagerService中记录有应用程序申请唤醒锁的时刻、应用程序释放唤醒锁的时刻,根据应用程序申请唤醒锁的时刻和释放唤醒锁的时刻可得到应用程序持有唤醒锁的时长。唤醒闹钟都是由AlarmManagerService管理,在AlarmManagerService中记录有唤醒闹钟的相关信息,如唤醒闹钟被触发的时刻,触发唤醒闹钟的应用程序标识等。根据记录的唤醒闹钟的相关信息可获取在待机状态下各个应用程序触发唤醒闹钟的次数。
[0390] 当接收到移动终端的亮屏指令时,根据移动终端待机状态下应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数可计算获取应用程序的待机功耗信息,并根据应用程序的待机功耗信息对应用程序执行相应的操作。
[0391] 在一个实施例中,应用程序的待机功耗信息包括:应用程序持有唤醒锁的时长占所有应用程序持有唤醒锁的总时长的比值、应用程序触发唤醒闹钟的次数占所有应用程序触发唤醒闹钟的总次数的比值、根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取的应用程序的耗电指数。
[0392] 根据记录的在移动终端待机状态下各个应用程序持有唤醒锁的时长和各个应用程序触发唤醒闹钟的次数可计算应用程序持有唤醒锁的总时长和应用程序触发唤醒锁的总次数,再计算可获取应用程序持有唤醒锁的时长占总时长的比值,应用程序触发唤醒闹钟的次数占总次数的比值。其中,对应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数可设定权重因子,对应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数加权计算获取应用程序的耗电指数。
[0393] 在一个实施例中,移动终端所包括的处理器2780在实现一种信息处理方法时还执行以下步骤:根据应用程序的待机功耗信息将应用程序对应的应用程序标识在移动终端界面排序展示。
[0394] 根据获取的应用程序的待机功耗信息可将应用程序排序,例如,根据应用程序持有唤醒锁的时长的比值、根据应用程序触发唤醒闹钟的次数的比值、应用程序的耗电指数对应用程序进行排序,并将排序结果在移动终端界面展示。其中,可依据单个值对应用程序进行排序,也可以依据多个值的对应用程序进行排序。例如,根据应用程序持有唤醒锁的时长的比值对应用程序进行排序;根据应用程序触发唤醒闹钟的次数的比值对应用程序进行排序;根据应用程序持有唤醒锁的时长的比值、应用程序触发唤醒闹钟的次数的比值和应用程序的耗电指数的加权平均值对应用程序进行排序。通常情况下,按待机功耗由高到低对应用程序进行排序。
[0395] 在一个实施例中,在根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取应用程序的待机功耗信息之前,移动终端所包括的处理器2780在实现一种信息处理方法时还执行以下步骤:检测移动终端待机状态下消耗的电流值是否达到指定值;若是,则根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取应用程序的待机功耗信息。
[0396] 在获取应用程序的待机功耗信息之前,可判定移动终端待机状态下消耗的电流值是否达到指定值;若移动终端待机状态下消耗的电流值达到指定值,则判定移动终端待机功耗异常,获取移动终端待机状态下应用程序的待机功耗信息。通过判定移动终端待机状态下电流值,在待机电流异常的时候再获取应用程序的待机功耗信息,获取的信息更准确。
[0397] 在一个实施例中,在根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取应用程序的待机功耗信息之前,移动终端所包括的处理器2780在实现一种信息处理方法时还执行以下步骤:检测移动终端的待机时长是否达到预设时长;若是,则根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数获取应用程序的待机功耗信息。
[0398] 在获取应用程序的待机功耗之前,可判定移动终端的待机时长是否达到预设时长,在移动终端的待机时长达到预设时长时获取应用程序中待机功耗信息,可使获取的应用程序的待机功耗信息更准确。
[0399] 在一个实施例中,移动终端所包括的处理器2780执行程序时可以实现一种信息处理方法,包括:
[0400] (1)根据应用程序在移动终端待机状态下持有唤醒锁的时长和应用程序触发唤醒闹钟的次数计算应用程序的耗电指数。
[0401] (2)若检测到应用程序的耗电指数达到预设值,根据与预设值对应的操作指令对应用程序执行相应的操作。
[0402] 移动终端可对应用程序持有的唤醒锁和应用程序触发的唤醒闹钟进行监控。当检测到应用程序申请唤醒锁、释放唤醒锁、应用程序触发唤醒闹钟时,可实时进行相应的记录。其中,在Android系统中,唤醒锁由PowerManagerService管理,在PowerManagerService中记录有应用程序申请唤醒锁的时刻、应用程序释放唤醒锁的时刻,根据应用程序申请唤醒锁的时刻和释放唤醒锁的时刻可得到应用程序持有唤醒锁的时长。唤醒闹钟都是由AlarmManagerService管理,在AlarmManagerService中记录有唤醒闹钟的相关信息,如唤醒闹钟被触发的时刻,触发唤醒闹钟的应用程序标识等。根据记录的唤醒闹钟的相关信息可获取在待机状态下各个应用程序触发唤醒闹钟的次数。根据应用程序在待机状态下持有唤醒锁的时长和应用程序触发唤醒闹钟的次数可计算应用程序的耗电指数。当检测到应用程序的耗电指数达到预设值,则可根据应用程序达到的耗电指数的值对应用程序执行相应的操作。
[0403] 在记录应用程序触发的唤醒闹钟时,只记录与应用程序强相关的唤醒锁和唤醒闹钟。具体地,可根据应用程序的包名判断应用程序触发的唤醒闹钟是否强相关。例如,微信的包名为com.tencent.mm,第一个字段com表示商业;第二个字段表示公司名,如tencent为腾讯公司;第三个字段mm表示微信这个应用,应用程序的包名前三个字段相同表示同一个应用。应用程序在申请唤醒锁和触发唤醒闹钟时都会带有应用程序的包名信息,若包名的前三个字段相同,则判定为同一个应用程序,记录为与该应用程序强相关。
[0404] 在一个实施例中,根据应用程序在移动终端待机状态下持有唤醒锁的时长和应用程序触发唤醒闹钟的次数计算应用程序的耗电指数包括:接收移动终端的熄屏指令,记录应用程序申请唤醒锁的时刻、释放唤醒锁的时刻以及应用程序触发唤醒锁的次数;接收移动终端的亮屏指令,根据应用程序申请唤醒锁的时刻、释放唤醒锁的时刻获取应用程序持有唤醒锁的时长;根据应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数计算应用程序的耗电指数,耗电指数与应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数正相关。
[0405] 在一个实施例中,根据应用程序在移动终端待机状态下持有唤醒锁的时长和应用程序触发唤醒闹钟的次数计算应用程序的耗电指数包括:根据预设的唤醒锁因子、预设的唤醒闹钟因子、应用程序持有唤醒锁的时长和应用程序触发唤醒闹钟的次数计算应用程序的耗电指数。
[0406] 应用程序的耗电指数w与预设的唤醒锁因子α、预设的唤醒闹钟因子β、应用程序持有唤醒锁的时长wl、应用程序触发唤醒闹钟的次数wa之间的关系为w=α*wl+β*wa。其中,不同移动终端中预设的唤醒锁因子α、预设的唤醒闹钟因子β不同。例如,在移动终端中α=0.3,β=0.7,在移动终端待机状态下,应用程序持有唤醒锁的时间为2345ms,应用程序触发唤醒闹钟的次数为23次,则应用程序的耗电因子w=0.3*2345+0.7*23=719.6。
[0407] 在一个实施例中,预设的唤醒锁因子、预设的唤醒闹钟因子由以下步骤获取:根据移动终端被唤醒状态下单位时间内耗电量和移动终端被唤醒的耗电量计算预设的唤醒锁因子、预设的唤醒闹钟因子。
[0408] 根据移动终端被唤醒状态下单位时间内耗电量a和移动终端被唤醒的耗电量b可计算预设的唤醒锁因子α、预设的唤醒闹钟因子β。其中, 根据移动终端在待机状态下的测试数据可获取唤醒锁因子和唤醒闹钟因子。
[0409] 在一个实施例中,根据与预设值对应的操作指令对应用程序执行相应的操作包括:若预设值为第一阈值,在移动终端界面弹窗提示;若预设值为第二阈值,禁止应用程序运行。
[0410] 若检测到应用程序的耗电指数达到第一阈值,在移动终端界面弹窗提示用户应用程序的耗电指数过高;当应用程序的耗电指数达到第二阈值,则禁止该应用程序运行。其中,第二阈值大于第一阈值。在另一个实施例中,对应用程序的耗电指数设定一个指定值,当检测到应用程序的耗电指数达到指定值,则在移动终端界面弹窗提示或禁止应用程序运行。在其他实施例中,还可设置多个阈值,在应用程序的耗电指数达到不同阈值时,对应用程序执行不同的操作指令。
[0411] 在一个实施例中,对应用程序可设置白名单,移动终端不会监测待机状态下白名单内应用程序的耗电指数。当应用程序在进行后台下载、后台播放音频等操作时,可以避免应用程序待机状态下耗电指数过高被终止运行。
[0412] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
[0413] 以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。