Информация об использовании батареи получена из статистики использования батареи и значений профиля мощности.
Статистика использования батареи
Платформа автоматически определяет статистику использования батареи, отслеживая, как долго компоненты устройства находятся в разных состояниях. Когда компоненты (чипсет Wi-Fi, сотовая радиосвязь, Bluetooth, GPS, дисплей, ЦП) изменяют свое состояние (ВЫКЛ/ВКЛ, бездействие/полная мощность, низкая/высокая яркость и т. д.), управляющая служба отчитывается перед фреймворком службы BatteryStats. BatteryStats собирает информацию с течением времени и сохраняет ее для использования при перезагрузках. Служба не отслеживает потребляемый аккумулятором ток напрямую, а вместо этого собирает информацию о времени, которую можно использовать для приблизительного потребления аккумулятора различными компонентами.
Платформа собирает статистику, используя следующие методы:
- Нажмите . Службы, осведомленные об изменениях компонентов, передают изменения состояния в службу BatteryStats.
- Тянуть . Для таких компонентов, как использование ЦП приложениями, платформа автоматически извлекает данные в точках перехода (например, при запуске или остановке действия), чтобы сделать моментальный снимок.
Потребление ресурсов связано с приложением, использующим ресурс. Когда несколько приложений одновременно используют ресурс (например, пробуждения, которые предотвращают приостановку системы), инфраструктура распределяет потребление между этими приложениями, хотя и не обязательно одинаково.
Чтобы избежать потери статистики использования для события выключения, которое может указывать на проблемы с энергопотреблением батареи (т. е. выключение происходит из-за того, что батарея достигла нулевой остаточной емкости), инфраструктура обновляет статистику примерно каждые 30 минут.
Статистика использования батареи полностью обрабатывается платформой и не требует модификаций OEM.
Значения профиля мощности
Предостережение. Производители устройств должны предоставить профиль мощности компонента, который определяет значение потребления тока для компонента и приблизительный расход заряда батареи, вызванный компонентом с течением времени. Этот профиль определен в файле platform/frameworks/base/core/res/res/xml/power_profile.xml . Руководство по этим настройкам см. в разделе Power Values .
В профиле мощности потребляемая мощность указывается в миллиамперах (мА) потребляемого тока при номинальном напряжении и может быть дробным значением, указанным в микроамперах (мкА). Значение должно быть мА, потребляемым от батареи, а не значением, применимым к шине питания, которая не соответствует току, потребляемому от батареи.
Например, профиль мощности дисплея определяет ток в мА, необходимый для поддержания дисплея включенным при минимальной и максимальной яркости. Чтобы определить затраты энергии (т. е. расход батареи компонентом дисплея) на поддержание дисплея во включенном состоянии, платформа отслеживает время, затраченное на каждом уровне яркости, а затем умножает эти временные интервалы на интерполированную стоимость яркости дисплея.
Платформа также умножает время ЦП для каждого приложения на мА, необходимое для работы ЦП на определенной скорости. Этот расчет устанавливает сравнительный рейтинг того, сколько батареи потребляет приложение при выполнении кода ЦП (время в качестве приложения переднего плана и общее время, включая фоновую активность, сообщается отдельно).
,Информация об использовании батареи получена из статистики использования батареи и значений профиля мощности.
Статистика использования батареи
Платформа автоматически определяет статистику использования батареи, отслеживая, как долго компоненты устройства находятся в разных состояниях. Когда компоненты (чипсет Wi-Fi, сотовая радиосвязь, Bluetooth, GPS, дисплей, ЦП) изменяют свое состояние (ВЫКЛ/ВКЛ, бездействие/полная мощность, низкая/высокая яркость и т. д.), управляющая служба отчитывается перед фреймворком службы BatteryStats. BatteryStats собирает информацию с течением времени и сохраняет ее для использования при перезагрузках. Служба не отслеживает потребляемый аккумулятором ток напрямую, а вместо этого собирает информацию о времени, которую можно использовать для приблизительного потребления аккумулятора различными компонентами.
Платформа собирает статистику, используя следующие методы:
- Нажмите . Службы, осведомленные об изменениях компонентов, передают изменения состояния в службу BatteryStats.
- Тянуть . Для таких компонентов, как использование ЦП приложениями, платформа автоматически извлекает данные в точках перехода (например, при запуске или остановке действия), чтобы сделать моментальный снимок.
Потребление ресурсов связано с приложением, использующим ресурс. Когда несколько приложений одновременно используют ресурс (например, пробуждения, которые предотвращают приостановку системы), инфраструктура распределяет потребление между этими приложениями, хотя и не обязательно одинаково.
Чтобы избежать потери статистики использования для события выключения, которое может указывать на проблемы с энергопотреблением батареи (т. е. выключение происходит из-за того, что батарея достигла нулевой остаточной емкости), инфраструктура обновляет статистику примерно каждые 30 минут.
Статистика использования батареи полностью обрабатывается платформой и не требует модификаций OEM.
Значения профиля мощности
Предостережение. Производители устройств должны предоставить профиль мощности компонента, который определяет значение потребления тока для компонента и приблизительный расход заряда батареи, вызванный компонентом с течением времени. Этот профиль определен в файле platform/frameworks/base/core/res/res/xml/power_profile.xml . Руководство по этим настройкам см. в разделе Power Values .
В профиле мощности потребляемая мощность указывается в миллиамперах (мА) потребляемого тока при номинальном напряжении и может быть дробным значением, указанным в микроамперах (мкА). Значение должно быть мА, потребляемым от батареи, а не значением, применимым к шине питания, которая не соответствует току, потребляемому от батареи.
Например, профиль мощности дисплея определяет ток в мА, необходимый для поддержания дисплея включенным при минимальной и максимальной яркости. Чтобы определить затраты энергии (т. е. расход батареи компонентом дисплея) на поддержание дисплея во включенном состоянии, платформа отслеживает время, затрачиваемое на каждом уровне яркости, а затем умножает эти временные интервалы на интерполированную стоимость яркости дисплея.
Платформа также умножает время ЦП для каждого приложения на мА, необходимое для работы ЦП на определенной скорости. Этот расчет устанавливает сравнительный рейтинг того, сколько батареи потребляет приложение при выполнении кода ЦП (время в качестве приложения переднего плана и общее время, включая фоновую активность, сообщается отдельно).