Doze 模式与睡眠模式的区别(Android Marshmallow)

8次阅读
没有评论

问题描述

在 Android M 版本之前,有被称为“睡眠模式”的机制。而从 Android M 开始引入了一个名为 Doze 的模式。这两种模式之间的区别是什么?本文将详细解释这两个概念。

解释 Doze 模式与睡眠模式的区别

睡眠模式

  • 在 Android 早期版本中,当显示屏关闭之后的瞬间内(毫秒级时间),CPU 将进入睡眠状态并且仅允许无线电接口层和闹钟获取命令。此时系统的大部分功能可能会暂时中止。
  • 用户反馈表示实际体验与理论上描述的不同,即显示屏关闭后 CPU 并不会立刻立即陷入睡眠模式。

Doze 模式

  • Doze 模式的引入是为了帮助系统更有效地管理设备的电量消耗。在此模式下,手机应用程序将不能访问网络资源,并且系统会忽略应用尝试保持唤醒状态时设下的“wakelocks”。
  • 这意味着后台任务不能运行,因此在 Doze 模式下,一些应用程序和服务的功能会被限制,比如背景数据同步功能的停用。
  • 然而,该模式并没有牺牲所有移动设备上的核心功能。例如,高优先级的通知依然可以中断设备的休息状态并显示给用户。
  • App Standby 机制也是一个重要的补充:对于某些不常使用的应用程序,系统会暂时封锁其网络访问权限和后台数据同步任务。
  • 当设备连接充电时或每隔几天短暂激活一次的情况下,这些锁定会临时解除;这一过程给了应用程序处理任何积累的工作机会。

示例参考

有关 Doze 和 App Standby 机制在 Android Marshmallow 中如何改进电池寿命的详细信息可以参阅 这里

通过综合对比,Doze 模式与早期 Android 的“睡眠模式”有着本质的不同:它们分别从不同的维度(CPU 运行状态 vs 应用程序限制)来看待设备的能源管理策略。理解这些区别可以帮助开发者更好地优化他们的应用程序。在现代 Android 设备上,这可以更有效地延长设备电池使用时间并提供更好的用户体验。

正文完