理解android Marshmallow中的Doze Mode 在android marshmallow中介绍了一种在手机空闲的时候新的节省电量的方法:doze mode。 那就让我们开始打开doze-mode的大门吧! 当手机没有充电,手机屏幕锁定并且屏幕没有触摸动作的时候,doze mode就被激活了。基本上推断这会儿,用户放下了他的设备,并出门溜了一圈。当用户遛弯回来的时候,设备的电量应该不可能掉到30%。 但是,事有例外,有两种情况,我们需要考虑。 其一:当进入doze mode的时候,有一些重要的,值得用户关注的新的信息出现的时候。doze mode通过Google Cloud Messaging将这些信息赋予高优先度,这样你就能对这些信息进行相应–譬如老妈发来你要相亲的女孩子的照片。但是,你要注意,虽然这种情况下,你能让手机做些事情,但是千万不要执行一些大量数据的下载(建议把需要执行这些大工作量任务的信息提前拿到,稍后用户回来打开手机(doze mode结束)的时候再进行这些耗时的任务)。 其二:你需要做一些时间敏感度高的工作。但是在Doze mode下,闹钟也失效了。有一点你需要知道,这时候闹钟不响并不意味着闹钟不工作了。举个栗子:你使用setExact()方法设置了闹钟,但是在doze mode下不响了,别担心,在你回来之后,他会立刻响的。如果你觉得还是挺坑的–万一我的工作非常紧急,我必须在那会让闹钟提醒我,嘿,哥们,我们当然想到了,快使用setExactAndAllowWhileIdle()方法吧,该方法在doze mode下也能让闹钟提醒你呢。 以上!:-D