本发明涉及软件开发领域,尤其涉及一种基于android待机节能的任务优化方法、设备及介质。
背景技术:
1、aosp是一个适用于移动设备的android开源操作系统,任何开发者能够在这套开源代码上做任何修改。
2、alarm为android中的一种任务类型,用于在指定时间或者经过指定的时间周期后触发,应用开发者可以使用闹钟执行生命周期之外的操作,可以设置长期并且重复的任务,被广泛用于定时和提醒等场景。在待机的状态下,应用想要执行任务或者某些操作,需要通过设置alarm来完成相应的操作。因为alarm能够通过设置内核的唤醒时间来唤醒cpu,从而达到执行作业的目的。同时并不是所有alarm都能够唤醒cpu,alarm分为wakeup类型和非wakeup类型,其中只有属于非wakeup类型的alarm才能够唤醒cpu。
3、安卓的低电耗模式在用户不插入电源并且屏幕关闭的情况下,通过限制应用访问网络和cpu来节省电源,同时在这段时间内,非wakeup类型的alarm将不会唤醒内核,即不会主动触发,会延迟到下一次唤醒时触发。同时系统会定时退出低电耗模式,来执行这些被延迟的alarm,这种机制使得在低电耗模式期间没有运行的alarm在退出低电耗模式后集中触发。
4、安卓的低电耗模式虽然能够将多种任务类型合并到一起触发,但这种方式只是简单的将任务推迟到一个时间点进行执行,并没有考虑在不改变执行时间的前提下,对任务进行合并,这种方式会对用户体验造成一定影响。
5、google本身的standby bucket有类似的优化机制,该机制通过用户上一次某个应用的时间以及使用该应用的频率,将应用设置为5个等级,分别是active、working set、frequent、rare以及never。只有active不对应用进行限制,其他的四种等级的应用都会存在一定程度上限制。原理是限制应用在一段时间的唤醒数量来减少任务的唤醒数,从而达到节约能耗的目的。standby bucket的机制虽然能够对用户使用少的应用进行限制,但并没有对用户使用多的应用进行优化,而这些应用往往会设置更多的任务。在实际观察中,绝大部分的应用会处于active的状态,因此带来的节能效果可能极小。同时,用户对于某些重要的应用,使用频率不是那么频繁,但是对用户的重要性却很高,如果standby bucket机制将其设置为非active的应用,对其任务调度进行限制,那么会对用户体验造成极大影响。
技术实现思路
1、为了解决上述问题,本发明提出了一种基于android待机节能的任务优化方法、设备及介质。
2、具体方案如下:
3、一种基于android待机节能的任务优化方法,包括以下步骤:
4、对batchingalarmstore中队列的加入机制进行更改,为batchingalarmstore中的队列设置wakeup属性,队列的wakeup属性与队列中的alarm的类型一致;当新的alarm需要加入队列时,判断其需要加入的队列的wakeup属性是否与该新的alarm的类型一致,如果一致,则加入该队列;否则,新建一个队列;
5、将batchingalarmstore中各队列用于唤醒内核时使用的队列的起始时间mstart更改为结束时间mend;
6、当batchingalarmstore中的某个队列为精确alarm时,将其后面相邻的wakeup类型的队列的用于唤醒内核的时间从队列的起始时间mstart修改为队列起始时间mstart减去队列的模糊时间;队列的模糊时间的计算方法为:队列的结束时间mend与起始时间mstart的差与比例系数的乘积;比例系数根据队列中是否存在active的alarm,和系统doze所处的状态进行设定。
7、进一步的,在模糊率的设定中,当队列存在active的alarm时,当系统doze所处的状态为standard时,设定模糊率为0%;当系统doze所处的状态为light doze时,设定模糊率为10%;当系统doze所处的状态为deep doze时,设定模糊率为20%。
8、进一步的,在模糊率的设定中,当队列不存在active的alarm时,当系统doze所处的状态为standard时,设定模糊率为0%;当系统doze所处的状态为light doze时,设定模糊率为20%;当系统doze所处的状态为deep doze时,设定模糊率为40%。
9、一种基于android待机节能的任务优化终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例上述的方法的步骤。
10、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述的方法的步骤。
11、本发明采用如上技术方案,减少了唤醒内核的次数,达到减少内耗的目的。
1.一种基于android待机节能的任务优化方法,其特征在于,包括:
2. 根据权利要求1所述的基于android待机节能的任务优化方法,其特征在于:在模糊率的设定中,当队列存在active的alarm时,当系统doze所处的状态为standard时,设定模糊率为0%;当系统doze所处的状态为light doze时,设定模糊率为10%;当系统doze所处的状态为deep doze时,设定模糊率为20%。
3. 根据权利要求1所述的基于android待机节能的任务优化方法,其特征在于:在模糊率的设定中,当队列不存在active的alarm时,当系统doze所处的状态为standard时,设定模糊率为0%;当系统doze所处的状态为light doze时,设定模糊率为20%;当系统doze所处的状态为deep doze时,设定模糊率为40%。
4.一种基于android待机节能的任务优化终端设备,其特征在于:包括处理器、存储器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~3中任一所述方法的步骤。
5.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1~3中任一所述方法的步骤。