在安卓系统中,真的存在深度睡眠吗?

3

你好,我对Android中的深度睡眠感到好奇。因为在寻找处理程序时,在Android文档中发现了这个术语“deep sleep”。

public final boolean postDelayed (Runnable r, long delayMillis)

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

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

我的问题是“深度睡眠是否真正存在于Android系统中,深度睡眠和Doze之间有什么区别?”还有“如果存在,则何时发生深度睡眠,深度睡眠期间会发生什么?”

感谢阅读这个问题。


1
这个回答可能会对你有所帮助。 - pa1.Shetty
请查看此链接 https://android.stackexchange.com/a/149452/239390。 - Nouman Ch
1个回答

2
很难找到相关文档,但从现有的资料来看,所谓深度睡眠是指将处理器设置为最低频率的状态。与Doze模式相比,主要区别在于没有应用程序限制:唤醒锁仍然有效,闹钟仍然会响起,网络仍然可用等等。但是,如果您没有持有唤醒锁,则无法获得足够的CPU时间来执行任何有意义的操作。深度睡眠仍然很重要,因为您的系统可能不是处于Doze模式,而是已经进入深度睡眠状态。"最初的回答"

非常感谢您的回答! :-) 好的..我有另一个问题。您知道如何从任何地方(例如dumpstate...)了解处理器是否处于深度睡眠状态吗?我猜想观察这种状态并不容易,因为处理器必须真正空闲才能进入此状态? - wannnnnnn
@wannnnnnn 电池历史记录可以显示 CPU 运行的时间,因此我认为它不运行的时间就是深度睡眠时。如果可能的话,从应用程序内部检测显然是根据定义困难的。 - Malcolm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接