程序员就是喜欢折腾,除了花几个小时设置一套终端的皮肤,除了花几个小时对比各种编辑器的优劣,剩下的就是刷机刷机刷机了。
Doze 是 Android 6.0 推出的一个崭新特性,关于 Doze 是如何让系统打盹的,这里不解释了,请自行 Google 之。
但是在这里我想说的是,Doze 目前还是有不少问题,笔者近期就遇到一个,比如说一夜醒来,打电话居然没声音了。
经过多次刷机换不同 ROM,反复看 LOG,最终能确定的是,有部分系统模块一旦 Doze 了,就无法再唤醒,只能重启手机以再次激活那些模块。
思考
目前看来,很可能是第三方 ROM 的 BUG,有参数设置不对之类的,但是打电话无声这事,确确实实的影响了我的工作和生活,因此必须得到解决。因此,就需要对 Doze 作出调整。
那么问题就来了,是否可以调整 Doze 的参数? 怎么调?
研究
查了很多资料,翻了很多代码,发现 Doze 是可以调节的,但是可选的参数并不是太多,具体的列表如下:
以上内容抄袭自 Doze-Settings-Editor(点击原文访问)
只要使用命令即可对 Doze 作出调整:
为了防止以上表格有所疏漏,我还特地看了下 settings 里面的所有参数:
此处的 global 是一个可选项,可选的值有 global,system,secure 共 3 种。全部看过一遍后,并没有发现其他的可选项。
解决?
其实也不能叫解决了,在尝试过这些选项后,发现不管怎么调整参数,睡醒后电话无声的问题一直未能解决,最终还是决定,把 Doze 关了吧。
于是就再也没发生过电话无声的问题了,当然是否开启 Doze,目前可能直观感受并不大,受国内各种全家桶的影响,感觉不出有多省电,所以我还是选择将其关闭了。
最后说一下,目前已经测试过的这些 ROM 可以用上述方法解决电话的问题:
手机有限,没有再测试更多机型了。(编者注:呵呵哒,你买的手机比公司测试机都多!)
顺便再多说一句,MIUI 6.0 的 ROM 是找不到 doze_enabled 这个选项的,貌似是系统本身就没有。那到底是 Doze 好还是神隐模式好呢?