在相同的情况下,我们对设备每10分钟请求该位置所花费的电量进行基准测试,该设备仅与WiFi连接,
首先将优先级设置为PRIORITY_BALANCED_POWER_ACCURACY
,然后设置为PRIORITY_HIGH_ACCURACY
。
令人惊讶的是,前者用尽了相同的电池,如果不是后者的话。以下是电池使用情况的图表:
有人可以解释一下这种行为吗?
答案 0 :(得分:1)
PRIORITY_HIGH_ACCURACY 更有可能使用GPS, PRIORITY_BALANCED_POWER_ACCURACY 更有可能使用WIFI&细胞塔定位。
PRIORITY_BALANCED_POWER_ACCURACY
(约100米“阻止”准确度) PRIORITY_HIGH_ACCURACY
(以电池寿命为代价尽可能准确)
使用 setInterval(长)和 setFastestInterval(长)来节省电池寿命。
示例:
private static final long INTERVAL = 60 * 1000;
private static final long FASTEST_INTERVAL = 5 * 1000;
private static final long DISPLACEMENT = 100;
private LocationRequest createLocationRequest(){
LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(INTERVAL);
mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
mLocationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);
mLocationRequest.setSmallestDisplacement(DISPLACEMENT);
return mLocationRequest;
}
Google在此处描述了LocationRequest
课程:http://developer.android.com/reference/com/google/android/gms/location/LocationRequest.html