@Algo: Будет совершенно неверно предполагать, что фоновое приложение, которое использует много ЦП, требует больше энергии аккумулятора, чем другое приложение, которое использует мало ЦП, но много Wi-Fi, GPS и дисплея.
Ли Райан
Если это так, то вы можете получить подсказку из числа разрешений, полученных приложением ... просто идея.
AZ_2
@LieRyan в статистике батареи, разве wifi, gps, bluetooth и т. Д. Не рассчитаны как их собственный «потребитель» батареи?
Райан Конрад
Ответы:
11
Android отслеживает события, которые влияют на использование батареи, и сохраняет эту информацию в файле batterystats.bin. Некоторые примеры:
экран времени был включен с определенной настройкой яркости
какое приложение (или не приложение Android) и как долго удерживается активная блокировка (не позволяет устройству спать)
Загрузка ЦП на процесс (приложение Android или другой процесс)
уровень сигнала телефона
Использование GPS
и т.п.
Android вычисляет, сколько энергии использует каждое приложение или компонент (например, экран), на основании информации о конфигурации, включенной в устройство производителем.
Не все измеряется, поэтому статистика может иногда вводить в заблуждение, но она становится лучше с каждым выпуском платформы Android.
Статистика батареи может быть сброшена с устройства с помощью:
Существует два способа вычисления мощности от следов блокировки.
На некоторых чипсетах простое удержание блокировки пробуждения должно препятствовать переходу процессора в полный глубокий сон. В указанном сообщении об использовании батареи это дополнительное энергопотребление будет распределено по всем приложениям, содержащим блокировку от пробуждения.
Даже если сама блокировка пробуждения не приводит к энергопотреблению, удерживание блокировки пробуждения в одном приложении может позволить другим приложениям работать и ЦП, если они не будут иначе. (Например, в некоторых приложениях может быть цикл {sleep (1); делать что-то;}, который не будет работать, если не удерживать пробужденные блокировки.) Для решения этой проблемы половина приложений, используемых ЦП, распределяется по обвинению. те, которые держат замки после.
Можете ли вы предоставить источники / ссылки, подтверждающие ваш ответ?
diimdeep
Вся информация взята из предоставленной ссылки на ветку google + от разработчика Google, знакомого с этой областью.
Павел Надольский
1
Правильная команда для новых устройств (не знаю, от какого API) должна быть: adb shell dumpsys batterystats или (если вы хотите, чтобы она была внутри файла): adb shell dumpsys batterystats> batterystats.txt
Ответы:
Android отслеживает события, которые влияют на использование батареи, и сохраняет эту информацию в файле batterystats.bin. Некоторые примеры:
Android вычисляет, сколько энергии использует каждое приложение или компонент (например, экран), на основании информации о конфигурации, включенной в устройство производителем.
Не все измеряется, поэтому статистика может иногда вводить в заблуждение, но она становится лучше с каждым выпуском платформы Android.
Статистика батареи может быть сброшена с устройства с помощью:
Вот интересный фрагмент поста Дайаны Хэкборн с более подробной информацией о энергопотреблении вэйк-локов :
источник