背景
Android 6 引入了一种称为“Doze”的内置机制,以便在设备休眠时更好地处理电池。
问题
问题是,我看不出它是如何工作的,以及应用程序应该如何改变以处理这种新机制,如果有的话。
显然,这取决于您在代码中的内容,但我应该寻找什么?
我发现了什么
我发现 2 个网页谈论这个:
- https://plus.google.com/+AndroidDevelopers/posts/94jCkmG4jff
- http://developer.android.com/training/monitoring-device-state/doze-standby.html
但他们大多谈论警报:
为了帮助安排闹钟,Android 6.0(API 级别 23)引入了两个新的 AlarmManager 方法:setAndAllowWhileIdle() 和 setExactAndAllowWhileIdle()。使用这些方法,您可以设置即使设备处于打瞌睡状态也会触发的警报。
问题
应用程序开发人员应该如何处理这种新机制?调度 API 会因此而有所不同吗?需要的更改如何:
警报
后台/前台服务
唤醒锁
JobScheduler 和 GcmTaskService
在这个问题上是否需要进行任何调整来处理 Android 6 及更高版本?