以 10 秒为间隔获取部分唤醒锁的应用程序是否存在任何问题。我的用例是能够通过设备加速度计持续监控用户的运动。基本上,我有一个服务,每 10 秒由一个警报调用一次。
此服务获取唤醒锁,从加速度计获取一些读数以确定当前运动状态,然后释放唤醒锁。服务的总生命周期约为 4 秒。
我的理解是,这会导致设备每分钟保持唤醒状态约 24 秒。虽然不理想,但我希望这仍然比在我的应用程序的整个生命周期中保持恒定的唤醒锁更好。
另一方面,在如此短的时间内获取和释放唤醒锁的行为是否可能对电池生命周期同样不利?
欢迎任何意见。
最佳答案
正如评论所指出的,这确实不是一个好主意。就像“市场上的一星评级”一样,这是一个不好的主意。
加速度计旨在供运行 Activity (例如游戏)使用,仅此而已。它绝对不是设计用于您正在尝试的模式。
您还假设设备将在您释放 WakeLock
后立即重新进入休眠状态。这可能是也可能不是真的。我怀疑您会发现您导致 CPU 开启的时间明显超过 40% 的可用时间,即使您只要求它开启 40%。
我强烈建议您查看 Jeff Sharkey's presentation on power usage in Android from the 2009 Google I|O conference .
关于android - 每 10 秒获取一次 PARTIAL_WAKELOCK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5653449/