roo*_*era 20 android android-powermanager sleep-mode
我正在搜索SO和网络,但我找不到足够的答案来解决我的问题.好的,我们走了:
每个用户都可以在android上修改屏幕超时.(当屏幕空闲__秒/分钟时关闭屏幕 - 用户选择).但是用户只能修改屏幕超时,而不能在设备实际进入睡眠状态时修改.我在这里发现当设备进入睡眠状态时会发生什么:( CommonsWare非常好的答案)Android睡眠/待机模式
好的,我的问题很简单.我怎么知道我的手机何时会入睡?关闭屏幕后会立即进入睡眠状态吗?屏幕关闭后它会保持"清醒"一段时间吗?最重要的是:特定设备的睡眠模式是否与品牌设备不同(制造商如何实施)或者取决于ROM版本(例如,所有ICS供电设备将在屏幕关闭后X秒进入睡眠状态)?
Rag*_*ood 26
您永远无法确定该设备是否已进入睡眠状态.充其量,我可以给你一个列表,确保设备没有进入睡眠状态:
除此之外n,即使没有握挂唤醒锁,也无法保证设备在屏幕关闭后几秒钟进入睡眠状态.这取决于OEM,他们可以改变这一点.
请记住,Android设备可以选择在屏幕进入睡眠状态后将设备解锁一段时间.
将手机与笔记本电脑进行比较时,功耗差异很小.笔记本电脑大多数时候通过充电器直接供电.(大部分我们带笔记本电脑充电).手机主要使用电池供电.(我们很少带充电器).
通过记住这一点,Android设计的方式是,如果用户没有与手机交互,手机将不会消耗电池电量.这是为了增加用户的电池备用时间.
这就是为什么当LCD屏幕电源关闭时(这意味着用户没有与手机交互),在几分之一秒内CPU也将进入一种模式(睡眠模式),在这种模式下它可以完成最少的工作并节省电池电量.当CPU处于睡眠模式时,它仅接受来自RIL(无线电接口层)的命令,该命令基本上是SMS和呼叫功能以及警报.除此之外,CPU将停止执行其他应用程序功能.
注意:如果任何应用程序在CPU处于睡眠模式时需要CPU时间进行紧急工作,则可以使用WAKE LOCKS请求CPU时间.
例如:即使用户已关闭LCD屏幕,MP3应用程序也必须继续在其服务中播放歌曲.这意味着MP3应用程序的服务已使用WAKE LOCKS请求CPU时间.
你的问题:我怎么知道我的手机何时会入睡?- Ans:简单,当LCD电源关闭时,它进入睡眠模式,只需几秒钟.
您的问题:特定设备的睡眠模式与品牌设备不同 - 答:由于Android是开源的,任何OEM都可以采用驱动程序层,这是GPU许可证并且可以修改电源管理器驱动器以表现不同.所有这些睡眠模式和唤醒锁最终都在Linux内核层的Power Manager驱动程序的控制之下.
要在Android 6.0中测试睡眠模式/打瞌睡,您应该使用下一个命令:
$ adb shell dumpsys battery unplug
$ adb shell dumpsys deviceidle step
Run Code Online (Sandbox Code Playgroud)
更多信息请参见此处:优化Doze和App Standby
| 归档时间: |
|
| 查看次数: |
33289 次 |
| 最近记录: |