本发明涉及移动终端功耗控制领域,尤其涉及一种对齐唤醒的方法及终端。
背景技术:
随着移动终端的快速发展,用户对移动终端的使用越来越频繁,需要安装越来越多的应用来满足用户在不同方面的使用需求,例如,即时通讯应用、购物应用、社交应用等,这些应用都需要与各自对应的服务器进行数据通讯,保持数据同步。
服务器在发送数据给应用时,需要知道该应用的IP地址,由于网络运营商分配给移动终端的IP是运营商内网的IP,所以在移动终端要与服务器进行数据通讯时,都需要通过运营商的网关进行网络地址转换(Network Address Translation,NAT),大部分网络运营商的网关在链路上一段时间内没有数据通讯时,会淘汰NAT列表中的对应链路,造成该链路中断,所以移动终端的应用需要定期向服务器发送心跳包,刷新NAT列表,保证连接在线,即维持一个心跳机制。
由于现有技术中不同的应用自身会形成一套心跳机制,不同应用的心跳包可单独发送,没有统一的心跳推送机制,所以不同的定时周期会导致移动终端频繁被唤醒来发送心跳包,这样移动终端就会消耗大量电量。
技术实现要素:
有鉴于此,本发明实施例期望提供一种对齐唤醒的方法及终端,以实现统一触发时间,使多个不同的定时间隔和触发时间的定时器一起唤醒,有效的减少终端的唤醒次数,降低功耗。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供一种对齐唤醒的方法,所述方法包括:
确定需要对齐唤醒的至少一个具有定时器的应用;
创建至少一个定时器容器及所述至少一个定时器容器的数据结构信息;
将所述需要对齐唤醒的至少一个应用的定时器存入对应的所述定时器容器;
确定所述至少一个定时器容器的触发时间;
将所述需要对齐唤醒的至少一个应用的定时器的触发时间修改为对应的所述定时器容器的触发时间。
上述方法中,所述定时器容器的数据结构信息至少包括一个:触发时间,定时间隔,最大可容纳定时器的个数。
上述方法中,所述确定需要对齐唤醒的至少一个具有定时器的应用,包括:
搜索所有应用,得到至少一个具有定时器的应用;
根据用户设置的应用保护白名单确定所述至少一个具有定时器的应用是否需要对齐唤醒,若所述至少一个具有定时器的应用在所述应用保护白名单中,则确定对应的所述至少一个具有定时器的应用不需要对齐唤醒;
若所述至少一个具有定时器的应用不在所述应用保护白名单中,则确定对应的所述至少一个具有定时器的应用需要对齐唤醒。
上述方法中,所述将所述需要对齐唤醒的至少一个应用的定时器存入对应的所述定时器容器,包括:
将所述需要对齐唤醒的至少一个应用的定时器按照预设条件存入对应的所述定时器容器;
所述按照预设条件存入对应的所述定时器容器,包括:
判断所述定时器的定时间隔是否小于等于所述定时器容器的定时间隔,若所述定时器的定时间隔小于等于所述定时器容器的定时间隔,则将对应的定时器存入同一个定时器容器;
若所述定时器的定时间隔大于所述定时器容器的定时间隔,则将对应的至定时器存入新的定时器容器;
或,所述将所述需要对齐唤醒的至少一个应用的定时器存入对应的所述定时器容器,包括:
将所述需要对齐唤醒的至少一个应用的定时器根据预设触发时间差值存入对应的所述定时器容器;
所述根据预设触发时间差值存入对应的所述定时器容器,包括:
当所述应用为一个时,则将所述应用的定时器加入当前定时器容器;
当所述应用为多个时,在所述多个应用的定时器中确定一个目标定时器,判断所述目标定时器的触发时间分别与其他所述定时器的触发时间的差值,若所述差值小于等于所述预设触发时间差值,则将所述目标定时器和对应的定时器存入同一个定时器容器;
若所述差值大于所述预设触发时间差值,则将所述目标定时器存入新的定时器容器。
上述方法中,所述确定所述至少一个定时器容器的触发时间,包括:
将在所述定时器容器中的所述定时器的最大触发时间作为所述定时器容器的触发时间。
本发明还提供一种对齐唤醒的终端,所述终端包括:
应用确定模块,用于确定需要对齐唤醒的至少一个具有定时器的应用;
创建模块,用于创建至少一个定时器容器及所述至少一个定时器容器的数据结构信息;
存入模块,用于将所述需要对齐唤醒的至少一个应用的定时器存入对应的所述定时器容器;
触发时间确定模块,用于确定所述至少一个定时器容器的触发时间;
修改模块,用于将所述需要对齐唤醒的至少一个应用的定时器的触发时间修改为对应的所述定时器容器的触发时间。
上述终端中,所述定时器容器的数据结构信息至少包括一个:触发时间,定时间隔,最大可容纳定时器的个数。
上述终端中,所述应用确定模块,具体用于搜索所有应用,得到至少一个 具有定时器的应用;
根据用户设置的应用保护白名单确定所述至少一个具有定时器的应用是否需要对齐唤醒,若所述至少一个具有定时器的应用在所述应用保护白名单中,则确定对应的所述至少一个具有定时器的应用不需要对齐唤醒;
若所述至少一个具有定时器的应用不在所述应用保护白名单中,则确定对应的所述至少一个具有定时器的应用需要对齐唤醒。
上述终端中,所述存入模块,具体用于将所述需要对齐唤醒的至少一个应用的定时器按照预设条件存入对应的所述定时器容器;
所述按照预设条件存入对应的所述定时器容器,包括:
判断所述定时器的定时间隔是否小于等于所述定时器容器的定时间隔,若所述定时器的定时间隔小于等于所述定时器容器的定时间隔,则将对应的定时器存入同一个定时器容器;
若所述定时器的定时间隔大于所述定时器容器的定时间隔,则将对应的至定时器存入新的定时器容器;
或,还具体用于将所述需要对齐唤醒的至少一个应用的定时器根据预设触发时间差值存入对应的所述定时器容器;
所述根据预设触发时间差值存入对应的所述定时器容器,包括:
当所述应用为一个时,则将所述应用的定时器加入当前定时器容器;
当所述应用为多个时,在所述多个应用的定时器中确定一个目标定时器,判断所述目标定时器的触发时间分别与其他所述定时器的触发时间的差值,若所述差值小于等于所述预设触发时间差值,则将所述目标定时器和对应的定时器存入同一个定时器容器;
若所述差值大于所述预设触发时间差值,则将所述目标定时器存入新的定时器容器。
上述终端中,所述触发时间确定模块,具体用于将在所述定时器容器中的所述定时器的最大触发时间作为所述定时器容器的触发时间。
本发明实施例提供的对齐唤醒的方法及终端,对齐唤醒的终端首先通过应 用保护白名单来确定出需要对齐唤醒的具有定时器的应用;接着创建至少一个定时器容器及该至少一个定时器容器的数据结构信息;其次将需要对齐唤醒的至少一个应用的定时器存入对应的定时器容器中;然后根据在定时器容器中最大的应用的定时器的触发时间作为定时器容器的触发时间;最后将至少一个应用的定时器的触发时间修改为对应的定时器容器的触发时间;通过将定时器容器中的所有定时器的触发时间进行了对齐操作,统一了触发时间,使多个不同的定时间隔和触发时间的定时器一起唤醒,有效的减少了终端的唤醒次数,降低了功耗;另外,用户根据应用保护白名单列表中的应用可以选择哪些应用需要加入对齐唤醒管理,哪些应用不需要加入对齐唤醒管理,这样用户可以根据自身需求对精确定时的应用不进行对齐唤醒管理,对实时性要求不高的应用进行对齐唤醒管理,方便了用户的使用,解决了有可能带来触发时间不准的问题。
附图说明
图1为本发明对齐唤醒的方法实施例一的流程图;
图2为本发明对齐唤醒的方法实施例二的流程图;
图3为本发明对齐唤醒的终端实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
图1为本发明对齐唤醒的方法实施例一的流程图,如图1所示,本方法可以包括如下步骤:
步骤101、确定需要对齐唤醒的至少一个具有定时器的应用;
具体的,首先,对齐唤醒的终端搜索所有在终端中的应用,得到至少一个具有定时器的应用;然后,根据用户设置的应用保护白名单确定所述至少一个具有定时器的应用是否需要对齐唤醒,若所述至少一个具有定时器的应用在所述应用保护白名单中,则确定对应的所述至少一个具有定时器的应用不需要对 齐唤醒;若所述至少一个具有定时器的应用不在所述应用保护白名单中,则确定对应的所述至少一个具有定时器的应用需要对齐唤醒。
本发明实施例的对齐唤醒的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)、便携式多媒体播放器(PMP)、导航装置等等的移动终端。
终端如果具有操作系统,该操作系统可以为UNIX、Linux、Windows、Mac OS X、安卓(Android)、Windows Phone等等。
应用软件(Application,APP)是智能终端的第三方应用程序,用户可以通过各种各样的应用软件进行办公、娱乐、获取信息等等,其格式包括了如ipa、pxl、deb、apk等等格式。
例如,在Android操作系统下,应用保护白名单根据AlarmManager提供的接口信息搜索到具有定时器的应用为A、B、C、D、E,对齐唤醒的终端将A、B、C、D、E添加到应用保护白名单中,用户想要对A、C、E这三个应用进行对齐唤醒,对B、D这俩应用不进行对齐唤醒,那么可以在应用保护白名单上设置,将A、C、E这三个应用确定成需要对齐唤醒,生成一个对齐唤醒的配置文件。
本发明实施例中的对齐唤醒的终端搜索自身中哪些应用使用了定时器,并将这些使用定时器的应用通过应用保护白名单列表方式记录;用户根据应用保护白名单列表中的应用可以选择哪些应用需要加入对齐唤醒管理,哪些应用不需要加入对齐唤醒管理,这样用户可以根据自身需求对精确定时的应用不进行对齐唤醒管理,对实时性要求不高的应用进行对齐唤醒管理,方便了用户的使用,解决了有可能带来触发时间不准的问题。
步骤102、创建至少一个定时器容器及所述至少一个定时器容器的数据结构信息。
对齐唤醒的终端得到需要加入对齐唤醒管理的应用后,会通过用户编写好的命令创建至少一个定时器容器以及该定时器容器的数据结构信息;该定时器容器用于存入一个或多个各个应用的定时器,该定时器容器的数据结构信息包 括了该定时器容器的触发时间,定时间隔,最大可容纳定时器的个数等它们其中的至少一个,其中,触发时间可以根据用户的命令,在对齐唤醒之前提前设置好,也可以根据定时器容器中的某个定时器的触发时间来动态调整。
例如,触发时间为8:50或者为缺省,由某个定时器的触发时间来决定,定时间隔为10分钟,可容纳定时器的个数为3个等等;这里需要说明的是,上述的数字仅以举例说明,具体的可以根据实际需求进行设置,在此不加以限定。
在Android操作系统下,用户可以通过指令在定时器框架AlarmManagerService中增加该定时器容器以及该定时器容器的数据结构信息。
步骤103、将所述需要对齐唤醒的至少一个应用的定时器根据预设条件存入对应的所述定时器容器。
对齐唤醒的终端将所述需要对齐唤醒的至少一个应用的定时器根据预设条件存入对应的所述定时器容器;其中,所述按照预设条件存入对应的所述定时器容器的具体步骤包括:
判断所述定时器的定时间隔是否小于等于所述定时器容器的定时间隔,若所述定时器的定时间隔小于等于所述定时器容器的定时间隔,则将对应的定时器存入同一个定时器容器;若所述定时器的定时间隔大于所述定时器容器的定时间隔,则将对应的定时器存入新的定时器容器。
例如,对齐唤醒的终端将需要对齐唤醒的A、C、E这三个应用存入对应的定时器容器中,具体的,在获得A的定时间隔为5分钟,C的定时间隔为10分钟,E的定时间隔为15分钟,定时器容器的定时间隔为10分钟后,将A、C、E各自的定时间隔与定时器容器的定时间隔进行对比判断,可以得到A、C的定时间隔5分钟、10分钟小于等于定时器容器的定时间隔10分钟,E的定时间隔15分钟大于容器的定时间隔10分钟,则将A、C存入同一个定时器容器中,该定时器容器的定时间隔为10分钟,将E存入新的定时器容器中,该定时器容器的定时间隔为15分钟。
在Android操作系统下,用户可以通过指令调用AlarmManagerService中的设置接口,修改该设置接口,在开始时读取对齐唤醒的配置文件,将对齐唤醒 的配置文件中的A、C、E这三个应用进行上述处理操作。
步骤104、确定所述至少一个定时器容器的触发时间。
对齐唤醒的终端将在所述定时器容器中的所述定时器的最大触发时间作为所述定时器容器的触发时间。
例如,C的定时器的触发时间为9:15,A的定时器的触发时间为9:10,由于C的定时器的触发时间比A的定时器的触发时间要大,所以对齐唤醒的终端将存入A、C的定时器容器的触发时间修改为C的定时器的触发时间,即9:15;E的定时器的触发时间为9:20,所以对齐唤醒的终端将存入E的定时器容器的触发时间修改为E的定时器的触发时间,即9:20。
步骤105、将所述需要对齐唤醒的至少一个应用的定时器的触发时间修改为对应的所述定时器容器的触发时间。
对齐唤醒的终端将在一个定时器容器中的所有定时器的触发时间修改为该定时器容器的触发时间,即将该定时器容器中的所有定时器的触发时间进行了对齐操作,统一了触发时间,使多个不同的定时间隔和触发时间的定时器一起唤醒,有效的减少了终端的唤醒次数,降低了功耗。
另外,在一起唤醒后,计算该定时器容器中的每个定时器的下一次触发时间,即下一次触发时间=本次的触发时间+定时间隔;清空之前的定时器容器,根据每个定时器的下一次触发时间重新根据步骤103的过程进行处理。
例如,对齐唤醒的终端在定时器容器中将A的定时器的触发时间修改为9:15,将C的定时器的触发时间也修改为9:15,A、C的定时器只在9:15时刻进行统一的唤醒,在唤醒后,计算A的定时器的下一次触发时间,即A的定时器的下一次触发时间=9:15+0:05=9:20;计算C的定时器的下一次触发时间,即C的定时器的下一次触发时间=9:15+0:10=9:25;清空之前的定时器容器,根据A、C的定时器的下一次触发时间重新根据步骤103的过程进行处理。
在Android操作系统下,可以将框架中定时器的定时策略进行修改,把一定范围的定时器统一进行触发,从而有效的减少终端被唤醒的次数,降低功耗。
本发明实施例的对齐唤醒的方法,对齐唤醒的终端首先通过应用保护白名 单来确定出需要对齐唤醒的具有定时器的应用;接着创建至少一个定时器容器及该至少一个定时器容器的数据结构信息;其次将需要对齐唤醒的至少一个应用的定时器存入对应的定时器容器中;然后根据在定时器容器中最大的应用的定时器的触发时间作为定时器容器的触发时间;最后将至少一个应用的定时器的触发时间修改为对应的定时器容器的触发时间;通过将定时器容器中的所有定时器的触发时间进行了对齐操作,统一了触发时间,使多个不同的定时间隔和触发时间的定时器一起唤醒,有效的减少了终端的唤醒次数,降低了功耗;另外,用户根据应用保护白名单列表中的应用可以选择哪些应用需要加入对齐唤醒管理,哪些应用不需要加入对齐唤醒管理,这样用户可以根据自身需求对精确定时的应用不进行对齐唤醒管理,对实时性要求不高的应用进行对齐唤醒管理,方便了用户的使用,解决了有可能带来触发时间不准的问题。
图2为本发明对齐唤醒的方法实施例二的流程图,如图2所示,本方法可以包括如下步骤:
步骤201、确定需要对齐唤醒的至少一个具有定时器的应用。
具体的,首先,对齐唤醒的终端搜索所有在终端中的应用,得到至少一个具有定时器的应用;然后,根据用户设置的应用保护白名单确定所述至少一个具有定时器的应用是否需要对齐唤醒,若所述至少一个具有定时器的应用在所述应用保护白名单中,则确定对应的所述至少一个具有定时器的应用不需要对齐唤醒;若所述至少一个具有定时器的应用不在所述应用保护白名单中,则确定对应的所述至少一个具有定时器的应用需要对齐唤醒。
本发明实施例的对齐唤醒的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)、便携式多媒体播放器(PMP)、导航装置等等的移动终端。
终端如果具有操作系统,该操作系统可以为UNIX、Linux、Windows、Mac OS X、安卓(Android)、Windows Phone等等。
应用软件(Application,APP)是智能终端的第三方应用程序,用户可以通过各种各样的应用软件进行办公、娱乐、获取信息等等,其格式包括了如ipa、 pxl、deb、apk等等格式。
例如,在Android操作系统下,应用保护白名单根据AlarmManager提供的接口信息搜索到具有定时器的应用为F、G、H、I、J,对齐唤醒的终端将F、G、H、I、J添加到应用保护白名单中,用户想要对F、H、J这三个应用进行对齐唤醒,对G、I这俩应用不进行对齐唤醒,那么可以在应用保护白名单上设置,将F、H、J这三个应用确定成需要对齐唤醒,生成一个对齐唤醒的配置文件。
本发明实施例中的对齐唤醒的终端搜索自身中哪些应用使用了定时器,并将这些使用定时器的应用通过应用保护白名单列表方式记录;用户根据应用保护白名单列表中的应用可以选择哪些应用需要加入对齐唤醒管理,哪些应用不需要加入对齐唤醒管理,这样用户可以根据自身需求对精确定时的应用不进行对齐唤醒管理,对实时性要求不高的应用进行对齐唤醒管理,方便了用户的使用,解决了有可能带来触发时间不准的问题。
步骤202、创建至少一个定时器容器及所述至少一个定时器容器的数据结构信息。
对齐唤醒的终端得到需要加入对齐唤醒管理的应用后,会通过用户编写好的命令创建至少一个定时器容器以及该定时器容器的数据结构信息;该定时器容器用于存入一个或多个各个应用的定时器,该定时器容器的数据结构信息包括了该定时器容器的触发时间,定时间隔,最大可容纳定时器的个数等它们其中的至少一个,其中,触发时间可以根据用户的命令,在对齐唤醒之前提前设置好,也可以根据定时器容器中的某个定时器的触发时间来动态调整。
例如,触发时间为8:50或者为缺省,由某个定时器的触发时间来决定,定时间隔为10分钟,可容纳定时器的个数为3个等等;这里需要说明的是,上述的数字仅以举例说明,具体的可以根据实际需求进行设置,在此不加以限定。
在Android操作系统下,用户可以通过指令在定时器框架AlarmManagerService中增加该定时器容器以及该定时器容器的数据结构信息。
步骤203、将所述需要对齐唤醒的至少一个应用的定时器根据预设触发时间差值存入对应的所述定时器容器。
对齐唤醒的终端将所述需要对齐唤醒的至少一个应用的定时器根据预设触发时间差值存入对应的所述定时器容器;其中,所述根据预设触发时间差值存入对应的所述定时器容器的具体步骤包括:
当所述应用为一个时,则将所述应用的定时器加入当前定时器容器;
当所述应用为多个时,在所述多个应用的定时器中确定一个目标定时器,判断所述目标定时器的触发时间分别与其他所述定时器的触发时间的差值,若所述差值小于等于所述预设触发时间差值,则将所述目标定时器和对应的定时器存入同一个定时器容器;若所述差值大于所述预设触发时间差值,则将所述目标定时器存入新的定时器容器。
例如,对齐唤醒的终端将需要对齐唤醒的F、H、J这三个应用存入对应的定时器容器中,具体的,在获得F的触发时间为9:00,H的触发时间为9:10,H的触发时间为9:20,预设触发时间差值为10分钟后,在F、H、J的定时器中确定F的定时器为目标定时器,判断F的定时器的触发时间9:00分别与H、J的定时器的触发时间9:10、9:20的差值,得到与H的定时器的触发时间的差值为10分钟,与J的定时器的触发时间的差值为20分钟;因为F与H的差值小于等于预设触发时间差值10分钟,所以将F和H的定时器存入同一个定时器容器;因为F与J的差值大于预设触发时间差值10分钟,所以将J的定时器存入新的定时器容器。
在Android操作系统下,用户可以通过指令调用AlarmManagerService中的设置接口,修改该设置接口,在开始时读取对齐唤醒的配置文件,将对齐唤醒的配置文件中的A、C、E这三个应用进行上述处理操作。
步骤204、确定所述至少一个定时器容器的触发时间。
对齐唤醒的终端将在所述定时器容器中的所述定时器的最大触发时间作为所述定时器容器的触发时间。
例如,H的定时器的触发时间为9:10,F的定时器的触发时间为9:00,由于H的定时器的触发时间比F的定时器的触发时间要大,所以对齐唤醒的终端将存入F、H的定时器容器的触发时间修改为H的定时器的触发时间,即9:10; J的定时器的触发时间为9:20,所以对齐唤醒的终端将存入J的定时器容器的触发时间修改为E的定时器的触发时间,即9:20。
步骤205、将所述需要对齐唤醒的至少一个应用的定时器的触发时间修改为对应的所述定时器容器的触发时间。
对齐唤醒的终端将在一个定时器容器中的所有定时器的触发时间修改为该定时器容器的触发时间,即将该定时器容器中的所有定时器的触发时间进行了对齐操作,统一了触发时间,使多个不同的定时间隔和触发时间的定时器一起唤醒,有效的减少了终端的唤醒次数,降低了功耗。
另外,在一起唤醒后,计算该定时器容器中的每个定时器的下一次触发时间,即下一次触发时间=本次的触发时间+定时间隔;清空之前的定时器容器,根据每个定时器的下一次触发时间重新根据步骤103的过程进行处理。
例如,对齐唤醒的终端在定时器容器中将F的定时器的触发时间修改为9:10,将H的定时器的触发时间也修改为9:10,F的定时间隔为0:05,H的定时间隔为0:10,H、F的定时器只在9:10时刻进行统一的唤醒,在唤醒后,计算F的定时器的下一次触发时间,即F的定时器的下一次触发时间=9:10+0:05=9:15;计算H的定时器的下一次触发时间,即H的定时器的下一次触发时间=9:10+0:10=9:20;清空之前的定时器容器,根据F、H的定时器的下一次触发时间重新根据步骤203的过程进行处理。
在Android操作系统下,可以将框架中定时器的定时策略进行修改,把一定范围的定时器统一进行触发,从而有效的减少终端被唤醒的次数,降低功耗。
本发明实施例的对齐唤醒的方法,对齐唤醒的终端首先通过应用保护白名单来确定出需要对齐唤醒的具有定时器的应用;接着创建至少一个定时器容器及该至少一个定时器容器的数据结构信息;其次将需要对齐唤醒的至少一个应用的定时器存入对应的定时器容器中;然后根据在定时器容器中最大的应用的定时器的触发时间作为定时器容器的触发时间;最后将至少一个应用的定时器的触发时间修改为对应的定时器容器的触发时间;通过将定时器容器中的所有定时器的触发时间进行了对齐操作,统一了触发时间,使多个不同的定时间隔 和触发时间的定时器一起唤醒,有效的减少了终端的唤醒次数,降低了功耗;另外,用户根据应用保护白名单列表中的应用可以选择哪些应用需要加入对齐唤醒管理,哪些应用不需要加入对齐唤醒管理,这样用户可以根据自身需求对精确定时的应用不进行对齐唤醒管理,对实时性要求不高的应用进行对齐唤醒管理,方便了用户的使用,解决了有可能带来触发时间不准的问题。
图3为本发明对齐唤醒的终端实施例的结构示意图,如图3所示,所述对齐唤醒的终端03可以包括:应用确定模块61、创建模块62、存入模块63、触发时间确定模块64、修改模块65;其中,
所述应用确定模块61,用于确定需要对齐唤醒的至少一个具有定时器的应用;
所述创建模块62,用于创建至少一个定时器容器及所述至少一个定时器容器的数据结构信息;
所述存入模块63,用于将所述需要对齐唤醒的至少一个应用的定时器存入对应的所述定时器容器;
所述触发时间确定模块64,用于确定所述至少一个定时器容器的触发时间;
所述修改模块65,用于将所述需要对齐唤醒的至少一个应用的定时器的触发时间修改为对应的所述定时器容器的触发时间。
进一步的,所述定时器容器的数据结构信息至少包括一个:触发时间,定时间隔,最大可容纳定时器的个数。
进一步的,所述应用确定模块61,具体用于搜索所有应用,得到至少一个具有定时器的应用;
根据用户设置的应用保护白名单确定所述至少一个具有定时器的应用是否需要对齐唤醒,若所述至少一个具有定时器的应用在所述应用保护白名单中,则确定对应的所述至少一个具有定时器的应用不需要对齐唤醒;
若所述至少一个具有定时器的应用不在所述应用保护白名单中,则确定对应的所述至少一个具有定时器的应用需要对齐唤醒。
进一步的,所述存入模块63,具体用于将所述需要对齐唤醒的至少一个应用的定时器按照预设条件存入对应的所述定时器容器;
所述按照预设条件存入对应的所述定时器容器,包括:
判断所述定时器的定时间隔是否小于等于所述定时器容器的定时间隔,若所述定时器的定时间隔小于等于所述定时器容器的定时间隔,则将对应的定时器存入同一个定时器容器;
若所述定时器的定时间隔大于所述定时器容器的定时间隔,则将对应的至定时器存入新的定时器容器;
或,还具体用于将所述需要对齐唤醒的至少一个应用的定时器根据预设触发时间差值存入对应的所述定时器容器;
所述根据预设触发时间差值存入对应的所述定时器容器,包括:
当所述应用为一个时,则将所述应用的定时器加入当前定时器容器;
当所述应用为多个时,在所述多个应用的定时器中确定一个目标定时器,判断所述目标定时器的触发时间分别与其他所述定时器的触发时间的差值,若所述差值小于等于所述预设触发时间差值,则将所述目标定时器和对应的定时器存入同一个定时器容器;
若所述差值大于所述预设触发时间差值,则将所述目标定时器存入新的定时器容器。
进一步的,所述触发时间确定模块64,具体用于将在所述定时器容器中的所述定时器的最大触发时间作为所述定时器容器的触发时间。
本实施例的终端,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在实际应用中,所述应用确定模块61、创建模块62、存入模块63、触发时间确定模块64、修改模块65可由位于终端上的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等器件实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计 算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。