在同样的情况下,我们以每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

07-26 09:38