Android 6推出了一种名为“Doze”的内置机制,可在设备休眠时更好地处理电池。
问题是,我不知道它是如何工作的,如果有的话,应该如何改变以处理这种新机制。
显然,这取决于您在代码中拥有的内容,但我应该寻找什么?
我发现有2个网页在谈论这个:
但他们主要谈论警报:
为了帮助安排警报,Android 6.0(API级别23)介绍了 两个新的AlarmManager方法:setAndAllowWhileIdle()和 setExactAndAllowWhileIdle()。使用这些方法,您可以设置警报 即使设备处于打盹状态,它也会触发。
应用程序开发人员应该如何处理这种新机制?调度API会因此而以不同的方式工作吗?如何改变:
警报
背景/前台服务
Wakelocks
JobScheduler和GcmTaskService
在此问题上是否需要进行任何调整才能处理Android 6及更高版本?
答案 0 :(得分:0)
最重要的行为变化之一是由于Doze而在空闲模式下缺乏网络连接。但是,对行为进行了大量更改 - 包括唤醒锁和JobScheduler作业。
开发人员文档非常清楚在Doze中工作的原因: http://developer.android.com/training/monitoring-device-state/doze-standby.html#restrictions
如果你正在寻找细节,请随时查看这篇关于Doze和空闲模式行为的一些观察的Gist: https://gist.github.com/ccpmark/430d4ddf3a46a02672c1