В настоящее время я работаю над примером приложения для Android, в котором для мониторинга местоположения используется геозонирование, и мне трудно соблюдать ограничение фонового пробуждения Android Vitals (https://developer.android.com/topic/performance/vitals/wakeup. HTML).
Я использую Battery Historian для мониторинга пробуждений, и хотя наши собственные сигналы тревоги имеют частоту менее одного в час, как com.google.android.location.ALARM_WAKEUP_ACTIVITY_DETECTION, так и com.google.android.location.ALARM_WAKEUP_LOCATOR активируют с гораздо большей скоростью. Я экспериментировал, установив задержку реагирования геозон на 5 минут, и сигнал WAKEUP_LOCATOR был значительно уменьшен. Тем не менее, тревога ALARM_WAKEUP_ACTIVITY_DETECTION по-прежнему находится далеко за пределом 10/час.
Мы используем геозоны с радиусом 100 м и следим за выходным переходом, как рекомендовано здесь. Я также использую большую геозону с радиусом до 2 км, чтобы определить, когда мне нужно перезагрузить геозоны, чтобы не загружать слишком много геозон одновременно.
Последние тесты проводились на Android 7.1 на Galaxy S8, но на других устройствах сценарий обычен. У кого-нибудь есть похожая проблема? Google рекомендует использовать Geofences, особенно в свете ограничений Oreo на фоновые запросы местоположения, поэтому странно, что инструмент системного мониторинга учитывает столько пробуждений, когда он предлагает способ избежать этого.
PS: Я прочитал здесь ответ на Yvette Colomb, и я не использую Обновления местоположения, только сервисы Geofence. Должен ли я отказаться от этого?
[Редактировать] Документацию по геозонам на Android можно посмотреть здесь: https://developer.android.com/training/location/geofencing.html
[Редактировать 2] Существует проблема на трекере Android, которая обсуждает эту ситуацию, но новых обновлений также нет
[Изменить 3]: проблема была назначена в системе отслеживания проблем Google. ~ 22/08/2018
Спасибо за внимание,