Как досоздать полный отчет об использовании батареи в Android

    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: их очень полон рот, и для описания всех понадобится не одна статья. Так что «копайтесь» в инструменте самочки, и делитесь самыми интересными его возможностями в комментариях.