之前在网上看过一些文章,有的说安卓有两个处理器,休眠时会关闭一个处理器:
--安卓有两个处理器 AP 与 BP,系统休眠中的 CPU 停止指的是 AP 处理器,而 BP 处理器处于正常工作的状态
上面这段话的意思是整个 AP 处理器都停止吗?可是我试着在后台跑 shell 脚本发现 shell 脚本居然可以一直成功执行,也没要任何唤醒锁之类的。如果 cpu 真的停止了,那 shell 脚本真的还能一直运行?另外手机还可以安装 ssh 服务、ftp 服务、adb 服务,这些服务在手机锁屏后也随时都可以连接,如果 cpu 停止了也能做到?
.
比较说得通的休眠省电方式应该是关闭 cpu 的一些核心,比如 8 核 cpu 在休眠时关闭 4 个核心,只留 4 个核心运行。
下面是通过 adb 命令查看 cpu 的 online 文件:
cat /sys/devices/system/cpu/cpu3/online
上面的命令是针对 cpu 的第四个核心,如果上面的命令执行结果是 1,就代表 cpu 的第四个核心是在线状态。如果是 0,就代表是离线状态。
root 后,有的手机可通过修改该文件为 0 的方式让 cpu 强制离线,有的手机不行:
echo 0 > /sys/devices/system/cpu/cpu3/online
只是我在手机锁屏很久后通过 adb 命令查看 online 文件,发现 cpu 的所有核心都一直是以最小频率在运行。根本就没关闭任何核心。所以不知道到底是否会关闭,还是说由于我连接了 adb 才没关闭?如果能关闭一些核心的话应该会省电很多。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.