В Android 13 появился регистратор энергопотребления – процесс, который отслеживает использование батареи приложениями в фоновом и активном режимах, чтобы определить, нарушают ли они какие-либо правила. В Android 13 есть два инструмента для отслеживания энергопотребления: для активных служб и для фонового использования батареи. Вместо того чтобы использовать собственные механизмы для определения злоупотребления батареей со стороны приложений, мы рекомендуем использовать эти трекеры для мониторинга и оповещения пользователей о чрезмерном использовании батареи.
Трекер активных служб
Активные службы могут работать и расходовать заряд батареи в течение длительного времени. Когда активная служба работает в течение длительного времени, но не видна пользователю (например, если он закрыл уведомление службы), трекер активных служб показывает уведомление. Если пользователь нажмет на уведомление, откроется диспетчер задач, в котором можно остановить активную службу. Этот трекер включен по умолчанию.
Отслеживание расхода заряда батареи в фоновом режиме
Приложения могут расходовать заряд батареи в фоновом режиме без ведома пользователя. Трекер фонового расхода заряда батареи отслеживает, сколько энергии потребляет каждое приложение. Расход заряда батареи в этом контексте определяется тремя параметрами: активное приложение на переднем плане, активная служба, выполняющая что-то невидимое, и фоновая часть приложения. Если фоновая часть приложения потребляет слишком много энергии, приложение перемещается в ограниченную группу, что позволяет ему выполнять только одну задачу в день. По умолчанию этот трекер отключен. Чтобы включить этот трекер, выполните следующие команды:
adb shell device_config put activity_manager bg_auto_restrict_abusive_apps 1
adb shell device_config put activity_manager bg_current_drain_auto_restrict_abusive_apps_enabled 1