1

考虑以下情况。

1) 手机开机。此时可以说是处于功耗比较大的运行模式。
2)如果没有活动,一段时间后屏幕变暗。
3)进一步不活动后,屏幕完全熄灭。

a) 现在我的问题是,我们可以说手机在上述步骤 2 和 3 中分别处于待机模式和睡眠模式吗?

另一个问题是,假设我们正在播放一些音乐,然后我们就这样离开了手机一段时间。在这种情况下,手机也会经历上面提到的 2 和 3 步骤。但与前面场景的唯一区别是在第二种场景中正在播放音乐。在这种情况下,我们可以说手机在播放音乐时分别处于2步和3步的待机和睡眠模式。

4

1 回答 1

1

如果 Linux 没有任何活动,CPUIDLE 线程将由调度程序调度,因为它是优先级最低的进程,它将 CPU 带到各种低功耗状态,而其他外围设备则受各种其他操作系统概念的控制。如果屏幕变暗,可能会导致两种可能性:

  1. 部分唤醒负载有帮助,系统已关闭(一些省电)
  2. Linux 挂起调用 (echo mem > /sys/power/stae) 并且整个设备被挂起,(巨大的电力节省,因为只有 ddr 处于活动状态,并且处于自刷新模式以及 ALWAYS ON 模块)所以只是看到你不能说它处于睡眠或挂起模式,但如果说您的触摸或其他活动,然后注册 WAKE UP 事件使屏幕亮起,则您的设备处于睡眠模式而不是挂起模式。WAKE UP 事件通常是“开机键”、警报、网络数据包(即呼叫或消息等)

对于您的第二部分问题,它属于低功耗音频概念,它因您的设备架构而异。android 手机中最常见的是将 cpu 置于“低功耗状态”并定期唤醒它们以将音乐数据复制到可以播放的 DMA。

您使用的场景中使用的概念很多,因操作系统、架构和应用程序而异,我已尽力为您提供鸟瞰图。

于 2016-02-11T07:46:30.460 回答