为什么'PRIORITY_BALANCED_POWER_ACCURACY`比'PRIORITY_HIGH_ACCURACY`消耗的电量更多?

时间:2015-06-29 15:25:21

标签: android gps

在相同的情况下,我们对设备每10分钟请求该位置所花费的电量进行基准测试,该设备仅与WiFi连接,

  • 出厂重置
  • 相同的启动电池电量
  • 没有安装额外的应用

首先将优先级设置为PRIORITY_BALANCED_POWER_ACCURACY,然后设置为PRIORITY_HIGH_ACCURACY

令人惊讶的是,前者用尽了相同的电池,如果不是后者的话。以下是电池使用情况的图表:

有人可以解释一下这种行为吗?

1 个答案:

答案 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