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