【发布时间】:2011-04-13 17:54:09
【问题描述】:
每隔 10 秒获取部分唤醒锁的应用程序是否存在任何问题。我的用例是能够通过设备加速度计持续监控用户的运动。基本上,我有一个服务,它每 10 秒被警报调用一次。
此服务获取唤醒锁,从加速度计获取一些读数以确定当前运动状态,然后释放唤醒锁。服务的总生命周期约为 4 秒。
我的理解是,这会导致设备每分钟保持清醒约 24 秒。虽然不理想,但我希望这仍然是比在我的应用程序的整个生命周期中保持恒定唤醒锁更好的做法。
另一方面,在如此短的时间内获取和释放唤醒锁的行为是否可能对电池寿命同样不利?
感谢任何输入。
【问题讨论】:
-
为什么需要唤醒屏幕才能访问加速度计?
-
我没有唤醒屏幕,只是唤醒了 CPU。我正在使用 PARTIAL_WAKELOCK。我每 10 秒唤醒一次设备以检查移动情况,必要时采取行动,然后将其重新休眠
-
我只是认为您不需要针对您的情况使用唤醒锁。如果在警报响起时调用您的服务,则 cpu 正在处理它。您不必告诉系统您的应用程序想要使用 cpu...
-
这将对用户的电池寿命产生很大的负面影响。这种情况的程度可能因设备而异。每 10 秒保持唤醒锁定 4 秒意味着您明确地保持设备在 40% 的时间内一直处于唤醒状态。
-
是的,但越接近 0%,您的用户就会越快乐。您的应用程序使用电池电量所做的事情是否比您的用户在一天结束时有足够的电量拨打电话更重要? :)
标签: android coding-style power-management android-wake-lock