在引入Doze和Foreground Services之后,我很难理解WakeLock在现代版本的Android中的用途。
在这一点上,似乎WakeLocks几乎是旧的(尽管未标记为已弃用),由Foreground Services取代了(因为Doze实际上并未尊重WakeLocks)。
来自documentation:“使用唤醒锁的一种合理情况可能是后台服务,它需要获取唤醒锁以在屏幕关闭时保持CPU正常运行” –但这不是引入打ze睡和前台服务后,真的不再是真的吗?
是否还有使用WakeLocks的合法用例(而不是例如前台服务)?
答案 0 :(得分:2)
前景服务仍然不能使CPU保持唤醒状态-为此,您仍然需要唤醒锁。诸如正在进行的媒体播放之类的情况,既需要前台服务(以保持进程运行并在系统其余部分处于休眠状态时允许唤醒锁),也需要唤醒锁本身(以保持实际的媒体播放发生)。