1

在引入 Doze 和 Foreground Services 之后,我很难理解WakeLock在现代版本的 Android 中的用途。

似乎 WakeLocks 在这一点上几乎是遗留的(尽管没有标记为已弃用),被前台服务所取代(因为 WakeLocks 实际上不受Doze的尊重)。

文档中:“使用唤醒锁的一个合法案例可能是后台服务需要获取唤醒锁以保持 CPU 在屏幕关闭时运行以完成工作” - 但在引入打盹和前台服务,是吗?

是否还有使用 WakeLocks 的合法用例(而不是例如前台服务)?

4

1 回答 1

3

前台服务仍然不能让 CPU 保持唤醒 - 因为你仍然需要一个唤醒锁。像正在进行的媒体播放这样的情况需要前台服务(以保持进程处于活动状态并在系统其余部分打瞌睡时允许唤醒锁)和唤醒锁本身(以保持实际的媒体播放发生)。

于 2018-11-01T00:29:16.460 回答