Для вашего первого вопроса «Чрезмерное использование сети (фон)» запускается, когда:
... приложение отправляет и получает суммарно 50 МБ в час при работе вфон в 0,10% сеансов батареи.Сеанс батареи относится к интервалу между двумя полностью заряженными батареями.
Источник
Чтобы определить причину этого, попробуйте использовать Battery Historyian для анализа использования батареи вашего приложения с течением времени.Для нас это помогло идентифицировать повторяющийся пробуждение, которое мы не собирались вводить.
Вот пример выходных данных, показывающих нам, что чрезмерное сканирование BLE вызывает серьезное воздействие батареи:
По вашему второму вопросу, WorkManager, скорее всего, то, что вам нужно, как вы правильно определили.Это позволяет вам планировать задачу, а также окно, в котором вы хотели бы ее видеть. Использование этого позволяет ОС оптимизировать планирование задач для вас, наряду с заданиями других приложений.Например, вместо 6 приложений, которые разбудили устройство каждые 10 минут для выполнения своей почасовой задачи, можно запланировать, что это произойдет для всех 6 приложений одновременно, что увеличит время, проведенное в режиме ожидания.
Примечаниена приведенном выше снимке экрана показана вкладка «JobScheduler Jobs».После выполнения анализа вы сможете увидеть, как на самом деле выполняются ваши задания:
Я ранее использовал Firebase JobDispatcher с большим успехом ( учебное пособие, которое я написал ), которое расширяет API-интерфейс JobScheduler операционной системы и в конечном итоге аналогично.
Я вижу, что вы используете WorkManager (версия JobDispatcher для Jetpack),но за 8 секунд ОС не сможет оптимизировать ваши рабочие места.Можно ли планировать их как минимум за несколько секунд и максимально увеличить максимум?
Дальнейшие улучшения
Однако ваши текущие настройки планирования задач могут не соответствоватькоренная причина.Вот несколько дополнительных идей, которые могут помочь вам улучшить качество батареи.Их полезность станет понятнее после того, как вы запустите Battery Historian и определите основную причину:
Подумайте, является ли доступным только Wi-Fi по умолчанию / опция длясинхронизация данных.Вы почувствуете более эффективное использование батареи, меньше проблем с сетью и, вероятно, более высокую степень удовлетворенности клиентов.
Почему приложение для создания заметок должно синхронизировать несколько сто МБ?Не могли бы вы просто синхронизировать измененную заметку вместо всего списка заметок каждый раз?