嗜睡模式可以让设备在锁屏后立即进入doze mode,不用等一个小时
在Android 6.0下,尽管Google加入了一些改善耗电问题的机制,但在加上绿色守护后,它们的威力才能得以充分释放。最终的效果将远远超越原生的Android 6.0,甚至大幅度超越绿色守护在过去Android版本下的表现,尤其是在没有ROOT的设备上。
具体来说,Android 6.0在这一领域引入的两个重要机制——Doze Mode 和 App Standby,为Android的后台运行控制打开了巨大的想象空间。但是,Google碍于自身的平台身份,需要兼顾整个生态中各方的利益平衡,当然也包括Google系自己的App利益。具体落地到Android 6.0中就表现为,两者的进入条件都非常苛刻,而且有不少漏洞。
Doze Mode是被大家讨论的比较多的,它的两阶段进入条件——持续关屏 和 相对静止,基本上把大部分用户日常的手机使用场景都排除在外了,除非你把手机放在桌上1个小时以上不碰。一旦用了一下手机,哪怕就是打开屏幕看一下通知就关上,也要重新等一个小时之后才能回到Doze Mode。
App Standby的进入就更难了。首先你得有至少1天不用这个应用,其次还不能有别的应用间接调用过这个应用(在国内这就是个大bug……),最后,也是最难防的,你一旦看到了这个应用显示的通知消息(无论是通知栏还是锁屏界面、手表上,没错,就是『看到』,都不必有交互),它就立马获得App Standby豁免权了。最后这个漏洞会带来什么恶果,你们懂的……
绿色守护在Android 6.0下重新强化了上述两个机制。Aggressive Doze让手机在关屏后数分钟内进入Doze Mode,而『浅度休眠(Shallow Hibernation)』用改进过的App Standby替代传统的休眠机制,封堵了上面提到的两个主要漏洞,同时还带来了大家期待已久的福利——不需要Xposed的GCM唤醒(前提是应用开发者正确支持了GCM消息优先级)和应用上下文保持(不杀进程,保留缓存)。
当然,还有更爽的一点:Aggressive Doze不需要root就能启用。而在非root设备上实现浅度休眠,也在技术攻关中,有较大希望实现。
开启方法:https://greenify.uservoice.com/knowledgebase/articles/749142
作者:Oasis Feng
来源:知乎