2016-11-22 6 views
0

У меня есть приложение для навигации, я хочу знать, как различная частота дискретизации датчиков в моем приложении влияет на разряд батареи. Я делаю несколько тестов, используя: adb shell dumpsys cpuinfo команду. Результаты (акселерометр и гироскоп):Android - загрузка процессора и разрядка аккумулятора

0Hz - использование центрального процессора: 17%

15Hz - использование центрального процессора: 20%

100Hz - использование центрального процессора: 23%

Как я может узнать из использования ЦП, сколько сокращается срок службы батареи (например, если я использую свое приложение в течение 1 часа)

+0

Большинство телефонов Android расскажут вам, сколько (относительно) каждого приложения использует аккумулятор. Это можно найти в разделе «Настройки»> «Аккумулятор»> «MyApplication» –

ответ

0

Прежде всего вам нужно знать уровни напряжения/ампера для каждого значения тактовой частоты, которое настроена ваша система, эта информация может быть получен с вашего устройства иногда (если у вас есть root-доступ) или из таблицы данных.

Далее вам нужно знать, сколько времени процессор провел в каждом состоянии, для проверки информации /sys/devices/system/cpu/cpuN/cpufreq/stats/time_in_state. Связанный вопрос: Android read CPU time in states for multicore devices

Затем умножьте разницу между холостым и управлением энергопотреблением, добавить простой уровня и значение будет более или менее точное количество энергии было потрачено, чтобы запустить устройство в течение некоторого времени. Сравнение этого значения со значениями, полученными при запуске программы и запуском с разными параметрами, позволит сделать предположения об изменениях в работе батареи.

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