宿迁波仔博客

Android 6.0下还需要使用绿色守护么?

简单来说,Android 6.0在这一领域引入的两个重要机制——Doze Mode 和 App Standby,为Android的后台运行控制打开了巨大的想象空间。但是,Google碍于自身的平台身份,需要兼顾整个生态中各方的利益平衡,当然也包括Google系自己的App利益。具体落地到Android 6.0中就表现为,两者的进入条件都非常苛刻,而且有不少漏洞。

image

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

2015-12-09 | 发布:宿迁波仔博客 | 分类:科技资讯 | 评论:3

留言列表:

  • 私护用品 发布于 2016-08-26 10:39:10  回复
  • 可伶的宝宝,你还是要去的
  • 蜜舒宝 发布于 2016-08-18 13:51:24  回复
  • 没有什么过不去的
  • h 发布于 2016-02-29 00:30:58  回复
  • 原文是Oasis(绿色守护作者)在知乎上写的,请注明。

发表留言: