我有一个进程应用程序,它包含一个服务组件(由活动启动并一直运行),其中包含多个线程。我需要一个应用程序反复暂停(深度睡眠)7秒,然后启动一个加速度计非常短的一段时间(加速度计在收集20个样本后停止),以节省电池。它必须运行在所有android平台上,最好是2.3以上。
我的第一种方法是在服务组件中使用基于Handler的sendMessageDelayed方法(延迟=7秒)在加速度计停止后调用一个定时器,而不获取部分尾流锁。然而,在我看来,这并不是一个好方法,因为计时器只会在手机没睡着的时候计算滴答声(如果我错了,或者有办法解决这个问题,请在这里纠正我)。
我的第二种方法与第一种方法相同,但在调用sendmesssageDelayed之前获得了部分唤醒锁。它工作正常,但电池消耗太多。
所以这里有几个问题:
非常感谢你的帮助
发布于 2013-12-16 21:52:39
如果您使用的服务总是在运行,那么就没有必要使用Alarmmanager。处理程序更容易。每7秒一次就够了,你确定你想要吗?我是说,如果你提到“节约电池”?保持服务运行是昂贵的,不是因为服务本身,而是因为它保持清醒的东西使用果汁。
https://stackoverflow.com/questions/20620944
复制相似问题