首页 > 解决方案 > 深度睡眠真的存在于 Android 中吗?

问题描述

嗨,我开始对 Android 中的深度睡眠感到好奇。因为我在搜索处理程序时在 android 文档中发现了这个术语“深度睡眠”。

public final boolean postDelayed (Runnable r, long delayMillis)

使 Runnable r 添加到消息队列中,在经过指定的时间后运行。可运行对象将在附加此处理程序的线程上运行。时基是 SystemClock.uptimeMillis()。在深度睡眠中花费的时间会增加执行的额外延迟。

所以我试图找出深度睡眠是什么,它何时发生以及在此期间发生了什么。但我找不到任何相关的官方文件,但找到了打盹模式。因此..我猜测深度睡眠是采用打盹模式之前使用的一个旧术语。

我的问题是“Android系统中真的存在深度睡眠吗?深度睡眠和打瞌睡有什么区别?”。还有“如果它存在,那么它什么时候发生,在深度睡眠期间会发生什么?”

感谢您阅读这个问题。

标签: androidandroid-dozesleep-mode

解决方案


确实很难找到这方面的文档,但从可用的文档来看,通过深度睡眠,它们指的是处理器设置为尽可能低的频率时的状态。

这与打瞌睡的主要区别在于对应用程序没有限制:唤醒锁仍然有效,警报仍然发生,网络仍然可用等等。但是,如果您不持有唤醒锁,您将无法获得足够的 CPU 时间来做任何有意义的事情。深度睡眠仍然相关,因为您的系统可能未处于打盹模式,但已经处于深度睡眠状态。


推荐阅读