android-battery-draining-apps-840x420.jpg

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

Для того, чтобы воспользоваться им, сначала нужно включить режим разработчика. Для этого нужно зайти в Настройки > О телефоне > несколько раз нажать на «Номер сборки» (точное число раз будет выводиться внизу экрана). Теперь перейдите в Настройки > Для разработчиков и включите отладку по USB. Теперь чуть ниже появится пункт «Отчет об ошибке» — нажимаем на него и выбираем «Интерактивный отчет»:

Снимок.PNG
Все, теперь подождите, пока отчет создастся, и перекиньте его на ПК (через меню поделиться, например). Теперь нужно достать из отчета нужные данные. Исходники Battery Historian доступны по ссылке, однако можно воспользоваться и готовым сервером — он доступен тут. Правда, стоит учитывать то, что в отчете много личной информации, и, хотя создатель сервера уверяет, что не собирает личные данные, решать вам — верить ему или нет. Отчет можно загрузить в виде .txt или .zip файла, а данные из отчета в итоге выглядят так:


Безымянный.png

Ну и самый главный вопрос — как работать с полученными данными? Открываем график — он будет выглядеть как-то так:

Безымянный.png

Видим, что в 6 часов экран был выключен, но батарея разряжалась быстро: в этом месте виден большой partial wakelock «net_scheduler», который и являлся причиной пробуждения телефона. Переходим в раздел Userspace partial wakelock на вкладке System и ищем похожий вэйклок. В приложении YouTube как раз есть такой — вот мы и нашли причину пробуждения.

Способов избавиться от него несколько:
  1. Посмотреть, какие настройки самого приложения могут заставлять его работать в фоне и будить телефон: к примеру, какая-нибудь Яндекс.Почта будит телефон каждые 10 минут, проверяя наличие новых писем. Если вам это критично — придется смириться, нет — поставьте промежуток проверки больше, или же вообще включите ручную проверку.
  2. Использовать приложение Amplify для полного избавления от этого вэйклока. Xposed для Andoid 7.0+ все еще сырой, поэтому способ подходит не всем пользователям Android.
  3. Удалить приложение. Да, как бы смешно не звучало, бывает что программа написана так криво, что единственный способ увеличить время автономной работы это удалить ее. Тут уж решать вам, что вам важнее — автономность vs программа.
К слову — это далеко не все возможности Battery Historian: их очень много, и для описания всех понадобится не одна статья. Так что «копайтесь» в инструменте сами, и делитесь самыми интересными его возможностями в комментариях.