【发布时间】:2016-01-10 07:31:52
【问题描述】:
背景
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 及更高版本?
【问题讨论】:
标签: android android-6.0-marshmallow android-doze