Android Vitals为Google Play Services Geofences警告过多的唤醒



我当前正在使用用于Android的示例应用地理位置进行位置监控,我发现很难遵守使用Android Vitals背景唤醒限制(https://developer.android.com/topic/performance/vitals/wakeup.html(。

我正在使用电池历史学家来监视唤醒,而我们自己警报的每小时不到一个小时的速率,com.google.android.location.alarm_wakeup_activity_detection和com.google.android.location.alarm_wakeup_locator触发的速度要大得多。我试验将GeoFences响应延迟设置为5分钟,并将Wakeup_locator警报大大减少了。尽管如此,alarm_wakeup_activity_detection警报仍然超过10/小时的限制。

我们使用的地理范围具有100m半径,并按照此处的建议监视出口过渡。我还使用较大的地理林,半径高达2公里,以定义我需要重新加载地理福特,以避免一次加载太多的地理。

最近的测试是在Galaxy S8上进行的Android 7.1,但该方案在其他设备上是常规的。有人有类似的问题吗?Google建议使用Geofences,尤其是根据奥利奥对背景位置请求的限制,因此很奇怪的是,系统监视工具是当它是避免它的建议方法时,请考虑太多的唤醒。

ps:我在此处阅读了yvette colomb的答案,我不使用位置更新,而只使用Geofence服务。我应该放弃吗?

[编辑]可以在此处查看Android上的地理文档:https://developer.android.com/training/laining/laind/geofencing.html

[编辑2]在Android Tracker上有一个问题正在讨论这种情况,但是在该方面没有新的更新

[EDIT 3]:该问题已在Google Disears Tracker上分配。在〜22/08/2018

感谢您的关注,

显然,在Google问题跟踪器上的此主题被标记为固定。我还没有验证它。

这是com.google.android.location.alarm_wakeup_locator每60秒醒来的设备,并使它们醒着15秒钟,导致重大的电池排水问题。<</p>对于地图,您必须设置更多时间来更新位置间隔。在我的情况下,我这样做了 让我知道它是否有效

 private long UPDATE_INTERVAL = 5 * 6000;
    private long FASTEST_INTERVAL = 6000;
//Set max update intervel for remove excessive wakeups...
        mLocationRequest.setInterval(UPDATE_INTERVAL);
        mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
        mLocationRequest.setMaxWaitTime(30 * 60000);
        mLocationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);

最新更新