在同样的情况下,我们以每10分钟请求一个设备的电量为基准,该设备仅连接到WiFi
出厂后重置
相同的启动电池电量
没有安装额外的应用程序
首先将优先级设置为PRIORITY_BALANCED_POWER_ACCURACY
,然后设置为PRIORITY_HIGH_ACCURACY
。
令人惊讶的是,前者用掉的电池即使不比后者多,也是一样的。以下是电池使用情况的图表:
有人能解释一下这种行为吗?
最佳答案
优先级高精度更有可能使用GPS,优先级平衡功率高精度更有可能使用WiFi和蜂窝塔定位。PRIORITY_BALANCED_POWER_ACCURACY
(~100m“块”精度)PRIORITY_HIGH_ACCURACY
(以牺牲电池寿命为代价尽可能精确)
使用setinterval(long)和setfastestinterval(long)可节省电池寿命。
例子:
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