听取网络位置更新时电池耗尽

时间:2011-07-19 04:49:43

标签: android location power-management

我有一个作为后台服务运行的应用程序,并且不断监听网络更新(课程位置)。服务本身不会保留任何唤醒锁定。听力部分如下所示:

locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 120000, 3000F, this);

我的onLocationChanged()方法正在做一些非常简单的事情(仅使用Location.distanceTo()计算到预配置位置的距离:

在查看电池统计数据时,该应用程序是摇滚明星 - 有时甚至超过显示器。

CPU并不是那么糟糕,但“保持清醒”部分非常高。

有没有办法防止这种情况发生?

我想用AlarmManager每2分钟请求一次更新,然后在我得到它之后再去睡觉,但我不确定这是一个好方法。

另外,我想要检测设备何时运动,但这很可能是一个更大的杀手。

1 个答案:

答案 0 :(得分:0)

我想你回答了自己的问题。

  

我想使用AlarmManager每2分钟请求一次更新   我拿到之后再去睡觉。虽然不太确定它是好的   方法

那将是最好的方法。但是不要将其设置为两分钟,将其设置为10分钟。