我想使用Android 4.4中引入的Android传感器批处理功能来节省一些电池电量。我的测试设备可以在其FIFO队列中存储184个传感器事件。使用18个事件/秒的采样率,我必须大约每10秒冲洗一次传感器。4.4文档中有关传感器批处理的部分建议:
使用该计算可通过AlarmManager设置唤醒警报,该警报将调用您的Service(实现SensorEventListener)以刷新传感器。
从Android 5.1开始,AlarmManager的最小唤醒间隔为60秒(请参阅此处),所以这行不通吗?是否有其他方法可以在更短的时间内唤醒设备,或者更好(就电池效率而言)可以持续保持唤醒锁?我想60秒的约束将有其原因。
至少60秒仅适用于重复警报。对于一次性精确警报,您可以设置更小的延迟。该文件提到了这个问题,以及:
注意:从API 19开始,所有重复警报都是不精确的。如果您的应用程序需要精确的交付时间,则它必须使用一次性精确警报,并如上所述每次重新安排。
实际上,这意味着您需要安排确切的警报(使用setExact
),并且在该警报触发后,您需要自己重新安排时间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句