-
12月09日
-
简单来说,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设备上实现浅度休眠,也在技术攻关中,有较大希望实现。
文章来源:知乎 Oasis Feng
除非注明,文章均为宿迁波仔博客原创,转载请注明本文地址:http://wangboxyk.cn/post/Android60-lvseshouhu-shouji.html标签:手机 安卓 操作系统
- 评论:(3)
- 隐藏评论
【评论很精彩,有内幕、有真相!】