Doze模式  ------ 极大幅度地延长电池的使用寿命

当用户的设备是Android6.0或以上系统时,如果该设备未插接电源,处于静止状态(Android7.0删除了这一条件),且屏幕关闭了一段时间后,就会进入Doze模式。在Doze模式下,系统会对CPU,网络,Alarm等活动进行限制,从而延长了电池的使用寿命。然而,系统并不会一直处于Doze模式,而是会间歇性地退出Doze模式一小段时间,在这段时间中,应用就可以去完成他们的同步操作、Alarm任务,等等。

随着设别进入Doze模式的时间越长,间歇性地退出Doze模式的时间间隔也会越长。因为如果设备长时间不实用的话,是没必要频繁退出Doze模式来执行同步等操作的。

在Doze模式下受限制的功能:

网络访问功能

系统忽略唤醒CPU或者屏幕操作

系统不再执行同步服务

Alarm任务将会在下次退出Doze模式的时候执行

最后一条即在Doze模式下,我们的Alarm任务将会变得不准时。如果真的有非常特殊的需求,要求Alarm任务即使在Doze模式下也必须正常执行,调用AlarmManager的setAndAllowWhileIdle()或setExactAndAllowWhileIdle()方法就能让定时任务即使在Doze模式下也能正常执行了。

posted on 2017-01-18 13:41  文森博客  阅读(103)  评论(0编辑  收藏  举报