Профили мощности для Android

Информация об использовании батареи получена на основе статистики использования батареи и значений профиля энергопотребления.

Статистика использования батареи

Платформа автоматически определяет статистику использования батареи, отслеживая, сколько времени компоненты устройства проводят в различных состояниях. По мере изменения состояний компонентов (чипсет Wi-Fi, сотовая связь, Bluetooth, GPS, дисплей, процессор) (ВКЛ/ВКЛ, режим ожидания/полная мощность, низкая/высокая яркость и т. д.), управляющая служба передает данные в службу BatteryStats. BatteryStats собирает информацию с течением времени и сохраняет ее для использования после перезагрузки. Служба не отслеживает потребление тока батареей напрямую, а собирает информацию о времени, которую можно использовать для приблизительной оценки потребления батареи различными компонентами.

Данная система собирает статистические данные с использованием следующих методов:

  • Функция Push . Сервисы, отслеживающие изменения компонентов, передают изменения состояния в сервис BatteryStats.
  • Функция «Получение данных» . Для таких компонентов, как использование ЦП приложениями, платформа автоматически получает данные в точках перехода (например, при запуске или остановке активности), чтобы сделать снимок состояния.

Потребление ресурсов связано с приложением, использующим этот ресурс. Когда несколько приложений одновременно используют ресурс (например, блокировки пробуждения, предотвращающие приостановку работы системы), платформа распределяет потребление между этими приложениями, хотя и не обязательно равномерно.

Чтобы избежать потери статистики использования при выключении, которая может указывать на проблемы с потреблением заряда батареи (например, выключение происходит из-за того, что остаточная емкость батареи достигла нуля), система обновляет статистику примерно каждые 30 минут.

Статистика использования батареи обрабатывается исключительно самой системой и не требует модификаций со стороны производителя оборудования.

Значения профиля мощности

Внимание: Производители устройств обязаны предоставлять профиль энергопотребления компонента, определяющий текущее значение потребления компонента и приблизительный разряд батареи, вызванный компонентом с течением времени. Этот профиль определяется в файле platform/frameworks/base/core/res/res/xml/power_profile.xml . Рекомендации по этим настройкам см. в разделе «Значения энергопотребления ».

В профиле энергопотребления потребляемая мощность указывается в миллиамперах (мА) тока при номинальном напряжении и может быть представлена ​​в виде дробной части, выраженной в микроамперах (мкА). Значение должно соответствовать току, потребляемому батареей в мА, а не значению, применимому к линии питания, не соответствующему току, потребляемому батареей.

Например, профиль энергопотребления дисплея определяет ток в миллиамперах, необходимый для поддержания работы дисплея при минимальной и максимальной яркости. Для определения энергопотребления (т.е. расхода заряда батареи компонентом дисплея) при поддержании работы дисплея, система отслеживает время, проведенное на каждом уровне яркости, а затем умножает эти временные интервалы на интерполированное значение энергопотребления при высокой яркости дисплея.

Данная платформа также умножает время работы процессора для каждого приложения на количество миллиампер, необходимых для работы процессора на определенной скорости. Этот расчет позволяет установить сравнительный рейтинг потребления заряда батареи приложением при выполнении кода на процессоре (время работы приложения в фоновом режиме и общее время, включая фоновую активность, отображаются отдельно).