gre*_*f82 14 android android-6.0-marshmallow
根据Android Marshmallow文档,当系统处于打盹模式时,任何唤醒锁被忽略.然而,我不清楚唤醒锁是否会阻止打盹模式.
Com*_*are 14
根据一些测试,使用Nexus 5安装Android 6.0的最终(?)预览:
持有a PARTIAL_WAKE_LOCK不足以阻止打盹模式 - 即使你有WakeLock并且正在尝试定期工作(例如,setExactAndAllowWhileIdle()每分钟控制一次),设备仍会打瞌睡
保持上使用屏幕android:keepScreenOn(或Java等效)中,用在屏幕上,是足以阻断打盹模式
android:keepScreenOn在屏幕关闭(用户按下POWER按钮)的情况下保持屏幕正常使用(或等效的Java),不足以阻止打盹模式
即使播放器可能没有移动或充电,IOW,视频播放器等也不会在用户观看视频时受到影响.但是,如果用户按下POWER按钮,则会重新出现Doze风险.
我没有尝试使用FULL_WAKE_LOCK(我希望行为相同android:keepScreenOn,但我很不确定).
sec*_*_aw 10
有趣
Android 6.0中谷歌自己的时钟应用程序可以完全阻止Doze模式:
国家仍然是"步入:主动"
如果您设置的警报时间> 60分钟,它会正常工作(设备可能会进入空闲状态).但是一旦警报<60分钟,似乎设备从Doze空闲状态中悄然唤醒,因为状态再次返回'ACTIVE'(而不是'IDLE_MAINTENANCE').
我真的很想知道他们是怎么做到的!
- 编辑 -
似乎setAlarmClock()默认情况下会出现此行为.这可能对某些用例有用.
对于以上评论讨论,这不是对该问题的答案。通常,这是为了阐明应用程序在打Do模式下的行为。在我的测试应用中,我尝试每2分钟获取一次GPS位置,GPS信号强度一直都足够。
测试条件:
打Do模式的GPS测试日志:
1 2015-09-04 - 12:14 GPS ok (device left stationary unplugged)
2 2015-09-04 - 12:16 GPS ok
3 2015-09-04 - 12:18 GPS ok
4 2015-09-04 - 12:20 GPS ok
5 2015-09-04 - 12:22 GPS ok
6 2015-09-04 - 12:24 GPS ok
7 2015-09-04 - 12:26 GPS ok
8 2015-09-04 - 12:28 GPS ok
9 2015-09-04 - 12:30 GPS ok
10 2015-09-04 - 12:32 GPS ok
11 2015-09-04 - 12:34 GPS ok
...
31 2015-09-04 - 13:14 GPS ok
32 2015-09-04 - 13:16 GPS ok
33 2015-09-04 - 13:18 GPS ok
34 2015-09-04 - 13:20 GPS ok
35 2015-09-04 - 13:22 GPS ok
36 2015-09-04 - 13:24 GPS ok
37 2015-09-04 - 13:26 GPS ok (entering Doze mode some time after)
38 2015-09-04 - 13:42 GPS failed, active millis: 60174 (idle)
39 2015-09-04 - 13:57 GPS failed, active millis: 60128 (idle)
40 2015-09-04 - 14:12 GPS failed, active millis: 60122 (idle)
41 2015-09-04 - 14:16 GPS ok (idle maintenance)
42 2015-09-04 - 14:18 GPS ok (idle maintenance)
43 2015-09-04 - 14:20 GPS ok (idle maintenance)
44 2015-09-04 - 14:22 GPS ok (idle maintenance)
45 2015-09-04 - 14:38 GPS failed, active millis: 60143 (idle)
46 2015-09-04 - 14:53 GPS failed, active millis: 60122 (idle)
47 2015-09-04 - 15:08 GPS failed, active millis: 60068 (idle)
48 2015-09-04 - 15:23 GPS failed, active millis: 60138 (idle)
49 2015-09-04 - 15:38 GPS failed, active millis: 60140 (idle)
50 2015-09-04 - 15:53 GPS failed, active millis: 60131 (idle)
51 2015-09-04 - 16:08 GPS failed, active millis: 60185 (idle)
52 2015-09-04 - 16:12 GPS ok (ending Doze mode - power button on)
Run Code Online (Sandbox Code Playgroud)
现在,我再次查看日志,我注意到一个非常奇怪的行为:“忽略优化”为OFF的同一测试显示出基本相同的结果(如应有的结果),但大多数情况下超时未按预期进行,我得到了闲置时,“活动毫秒数”的范围为〜330000(约为超时时间的5倍)或什至约为580000(约为超时时间的10倍)。我无法解释这种奇怪的行为,但似乎表明在“打ze”模式下设置“忽略优化”实际上确实有一些效果。
编辑:上面描述的“奇怪”行为现已记录:仅在“忽略优化”处于打开状态时,您才能在打ze空闲模式下保持部分唤醒锁。
| 归档时间: |
|
| 查看次数: |
12591 次 |
| 最近记录: |