我有一个活动,其中一些Handlers
以不超过 5 分钟的间隔执行。Activity 是从 a 启动的,BroadcastReceiver
并且可能会在屏幕关闭的情况下启动,等待用户拿起手机并获取用户输入,当这种情况发生时,onPause()
会调用 Activity 以确保 CPU 处于睡眠模式。我没有将活动设置为打开屏幕,因为我想尽可能多地节省电池。
我已经用我的手机对其进行了测试,并且工作得非常好,而屏幕关闭时,它们都会Handlers
执行它们必须运行的所有代码。如果我在活动打开时打开和关闭屏幕,一切正常。
现在,我到处读到,当屏幕关闭和 CPU 休眠时,某些设备无法按预期工作,大多数情况下使用加速度计。现在我的问题是,我是否需要获取一个WakeLock
以便在我的活动打开时 CPU 不会休眠?我真的很想知道这一点,因为正如我之前所说,我不想通过购买昂贵的WakeLock
.
我希望一个真正知道这是如何工作的人的详细答案。