这是一个简单的问题,因为在G+(这里)上有一篇很长的帖子,而官方文档中缺乏信息(这里):当设备进入“待机”模式时,应用程序的服务会发生什么情况?对于后台/前台服务(绑定/未绑定,已启动/未启动),具有/不具有部分/完全唤醒锁的情况下,它会做什么?例如,为了在设备的屏幕关闭时播放音频流,您会怎么做?如果音频流不是来自本地文件而是来自网络呢?考虑到Google开发人员提出的声明: 运行前台服务(带相关通知的服务)的应用程序不受待机限制。 -然而在此之后还有很多讨论,声称这并不完全正确,我认为很难知道应用程序需要执行哪些特殊的后台操作。
具有当前运行前台服务的进程应该不受Doze影响。绑定/未绑定,已启动/未启动和唤醒锁都不会影响此白名单处理过程。 然而,在Android M设备上存在一个问题,即当前台服务与顶部活动位于同一进程且被错误地休眠时,前台服务未被正确加入白名单。 修复程序在AOSP上提供,并将包含在Android N版本中。OEM需要将此补丁集成到他们生产的任何Android M版本中。