Тестирование Использования Батареи



Я хочу проверить, как мое приложение влияет на батарею телефона/планшета.



есть ли какие-либо инструменты тестирования, которые позволят мне это сделать?



например, я хочу проверить, какие модули приложения потребляют наибольшее количество заряда аккумулятора и т. д.

491   6  

6 ответов:

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

вот интересный блог о" Power Tutor " приложение, которое обеспечивает более точное измерение на работающей системе, чем встроенный аккумулятор приложение: http://gigaom.com/mobile/android-power-consumption-app/. я еще не пробовал.

для другого уровня детализации, вот бумага, которая разбивает какие компоненты телефона сосать больше всего сока (обратите внимание, что бумага с 2010 года):http://www.usenix.org/event/usenix10/tech/full_papers/Carroll.pdf (Просто перейдите к разделу 5, Чтобы прочитать их результаты). Говорят, яркость экрана самая большая виновный.

Если яркость экрана является самым большим виновником, не забудьте установить его на фиксированный уровень, если вы измеряете использование вашего собственного приложения.

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

есть новый инструмент, который поставляется с Android 5.0.

вы можете запустить

adb shell dumpsys batterystats > dump.txt

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

adb shell dumpsys batterystats --unplugged your.package.name > dump.txt

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

это работает только если у вас есть устройство с Android 5.икс. Если у вас есть устройство с меньшим уровнем, вы можете попробовать использовать

adb shell bugreport > bugreport.txt

но этот файл будет очень большой. (~8 МБ+)

после создания этого файла вы можете использовать историк инструмент Google

чтобы использовать его, вы должны установить Python 2.7.9 и выполните следующие команда

python /path/to/historian.py dump.txt > battery.html

это создаст батарею.html-файл, где вы можете увидеть данные в более полезном форматировании.

последнее: если вы хотите сбросить статистику сброса батареи просто позвоните

adb shell dumpsys batterystats --reset

(только работает с Android 5.x)

вопрос, который вы задали, является темой исследования прямо сейчас. Есть некоторые исследования по отслеживанию мелкозернистого энергопотребления, т. е. отслеживанию энергопотребления на основе потока или подпрограммы.\

eprof-это один из инструментов, разработанных некоторыми выпускниками университетов.

вы можете найти некоторые статьи по этой теме здесь:http://web.ics.purdue.edu / ~pathaka/pubs.html

Я работаю над тем же самым, я обязательно сообщу вам, если что-нибудь полезное придет обычный пользователь.

начиная с Android 2.3.3 система имеет собственный монитор батареи.

настройка -> О телефоне -> использование батареи

Я бы сказал, что нет никакого реального инструмента для его тестирования, так как он не может быть точно измерен. Если вы берете iPhone, вы увидите, что количество батарей идет от 40% до 30%, затем оставайтесь там на некоторое время, опускайтесь до 20%, опускайтесь до 15%, поднимайтесь до 25%, возвращайтесь к 20% ECT. Что вы можете сделать, это зарядить телефон в течение длительного периода времени, чтобы убедиться, что он полностью заряжен, а затем использовать приложение, пока телефон не закроется, и обратите внимание, сколько времени это заняло. Теперь сделайте это с другой версией и посмотрите результат. В основном вам придется играть в игру MasterMind с ним, если вы хотите сделать как можно меньше тестов. Кроме того, если изменение не легко увидеть, это, вероятно, не очень важно.

мы провели аналогичное тестирование, чтобы узнать, как мое приложение отвечает за потребление батареи телефона Nexus5 .

но, к сожалению, мы не могли получить помощь от любого инструмента, но это было в основном основано на ручном тестировании .

мы определили некоторые модули в приложении, которые были заподозрены для большего потребления батареи.

  1. модуль осведомленности о местоположении, который использует GPS .

  2. загрузить модуль, который использует сетевое подключение работает в фоновом режиме в течение длительного времени.

  3. модуль создания видео, который также делает процессор занят из-за фоновой работы. и так далее...

наконец, после 3-4 раунда тестирования у нас была некоторая тенденция в данных, и мы смогли определить модуль, который был большим виновником потребления батареи.

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

на данный момент я не могу найти какой-либо инструмент, который мог бы сказать выше результат тестирования в конкретном приложении.

надеюсь, что мой опыт будет полезен для утверждения требований в исходном вопросе.

Comments

    Ничего не найдено.