在相同情况下,我们将仅连接WiFi的设备每10分钟请求一次定位所需的电池电量作为基准
优先级首先设置为PRIORITY_BALANCED_POWER_ACCURACY,然后设置为PRIORITY_HIGH_ACCURACY。
令人惊讶的是,前者用尽了同样的电量,甚至没有更多。这是电池使用情况的图表:

有人可以解释一下这种行为吗?
PRIORITY_HIGH_ACCURACY更有可能使用 GPS,而PRIORITY_BALANCED_POWER_ACCURACY更有可能使用 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;
}
Run Code Online (Sandbox Code Playgroud)
谷歌在这里描述了这个LocationRequest类:http://developer.android.com/reference/com/google/android/gms/location/LocationRequest.html
| 归档时间: |
|
| 查看次数: |
570 次 |
| 最近记录: |