В: Почему программа некорректно работает с 13 и 14 Андроидом?О: Разработчик работает над этим, но последние
стабильные версии на эти ОС не рассчитаны. Google закрыл доступ к статистике, и на данном этапе это проблема. Возможно, надо подождать.
В: Почему дамп обязательно должен быть сделан во время бездействия телефона?О: В дампе нет разделения, что происходило в период работы телефона, а что - во время бездействия. В каждом разделе указаны процессы, происходившие за весь период дампа. Соответственно, если Вы пользовались телефоном перед снятием дампа (и не нужно никого убеждать, что Вы им не пользовались, поскольку графа
Screen On это прекрасно отражает), в дампе будут присутствовать
все связанные с Вашей работой с телефоном службы, вэйклоки, ресиверы и так далее, то есть и то, что
не должно будить устройство, и то, что
должно присутствовать во время использования аппарата. И отделить процессы, которые запускались во время активного режима от того, что происходило во время бездействия, нельзя! Поэтому анализ, предлагающий, что надо ограничить или отключить, не представляется возможным.
В: Как установить системное приложение BBS в Kitkat/Lollipop?О: С версии
2.2.0.0B4 установка системного не требуется, с рутом все прекрасно работает без этого (без рута - см. следующий вопрос).
Но, бывает на некоторых телефонах, что разрешения ни в какую не предоставляются, поэтому, на всякий случай, архив установки системного из рекавери: BetterBatteryStats_SystemApp_xdaedition_CWM_1.3.0.0.zip ( 212.59 КБ )
и архив удаления этого системного из того же рекавери: REMOVE_BetterBatteryStats_SystemApp_CWM_1.3.0.0.zip ( 140.69 КБ )
В: Если рута нет, есть ли смысл ставить данную программу?О: Без рута нет статистики частичных вэйклоков, сигналов и сети, то есть понять что-либо из дампа нерутованного телефона будет просто невозможно, поэтому, если у Вас на телефоне нет рута, программа будет показывать статистику только при предоставлении разрешений программе через adb:
adb -d shell pm grant com.asksven.betterbatterystats_xdaedition android.permission.DUMP
adb -d shell pm grant com.asksven.betterbatterystats_xdaedition android.permission.BATTERY_STATS
Для
Amazon FireHD8 пользователи рекомендуют ещё
adb -d shell pm grant com.asksven.betterbatterystats_xdaedition android.permission.PACKAGE_USAGE_STATS
Если у Вас версия с маркета, вместо com.asksven.betterbatterystats_xdaedition пишите просто com.asksven.betterbatterystats. Подробно процесс расписан
тут.
P.S. на некоторых устройствах после попытки предоставить разрешение DUMP система ADB пишет, что приложение не запрашивало данного разрешения. Тогда спокойно пропускаем эту команду и предоставляем BATTERY_STATS.И не забывайте,что в пути к папке с ADB на компе н
е должно быть русских букв.
Для решения проблем с предоставлением доступа на Meızu смотрите
тут.
Если же всё это не помогает, то, увы, смысла ставить программу нет. Пользователи
сообщают, что без рута на некоторых телефонах с Kitkat статистики вообще нет, в частности, на S4.
Вот тут человек попытался систематизировать процесс установки BBS на телефон без рута, посмотрите, может, поможет.А
тут можно увидеть, что надо нажать при предоставлении разрешений программой ADB AppControl.
В:У меня значительный вэйклок wlan_rx. Что это и как с ним бороться?О: Причина данного вэйклока ядра – пробуждение Вашего устройства Wifi. Во избежание этого Вы должны выключать Wifi, если его не используете, применяйте программы управления Вашим Wifi или попытайтесь найти и убрать причину. Другой причиной может стать неправильная настройка маршрутизатора. Большой анализ данного вопроса провёл borodovich, поищите поиском его посты по слову wlan или роутер, например,
тут.
В: Google Maps являются причиной большого расхода батареи. Нужно ли мне их заморозить?О: Нет, Karpfenhai составил
пошаговые инструкции по настройке автозапуска и службы местоположения для устранения данной проблемы.
В: Знаете ли вы о баге в BBS, когда SuperUser снова и снова запрашивает разрешения?О: Как Вы и заметили, это SuperUser запрашивает снова и снова, это не баг BBS, BBS лишь делает запрос на права суперпользователя. Подробнее
здесь.
В: BBS показывает "no ref since unplugged" (нет метки от отключено)О: Начиная с версии 1.9, необходимо подключить/отключить устройство к ЗУ после загрузки, чтобы создалась метка "since unplugged" (от отключено). Начиная с 1.10, имеется новая метка "since boot" (от загрузки) и в настройках есть пункт о сбросе к данной метке, если другой не найдено.
В: Почему нельзя просто пропустить удаление меток при загрузке?О: Если бы автор мог это сделать, он бы это сделал. Вкратце: BBS является инструментом пассивного мониторинга; это значит, что оно не ведет постоянную обработку, а просто сравнивает данные. Недостатком этого, таким образом, является то, что нет смысла сравнивать данные счетчиков между двумя метками (например, "since unplugged" и "current"), если счетчики в этот период сбрасывались. Фактически, это потенциально приведет к негативным значениям, в любом случае, неверным.
В: Что означают цвета виджетов / графиков?О: Для большого виджета: цвета соответствуют значениям "Since" -от (синий), "Deep sleep" –глубокий сон (зеленый), "Awake" –бодрствование (желтый), "Screen on" –экран вкл (белый), "Kernel wakelocks" –вэйклоки ядра (пурпурный), "Partial wakelocks" – частичные вэйклоки (голубой). 100% - это максимум данных величин.
Для маленького виджета:
В: Что означают цвета и сокращения на вкладке процессов и в вэйклоках ядра?О: В сведениях о процессах:
Красное - время системы,
синее - пользовательское время.
UID - идентификатор пользователя приложения линукс. Каждое приложение работает под определенного пользователя (и может быть частью многочисленных групп), что позволяет осуществлять контроль над тем, какие приложения имеют доступ к папкам и файлам. Это, впрочем, не особенно важно.
Sys - количество времени, в течении которого приложение потребляло CPU, используя код ядра (в интересах приложения). Это такие вещи, как ввод/вывод, может быть, визуализация графики и др. дребедень, происходящая в ядре.
Us - количество времени, в течении которого приложение потребляло CPU, используя "нормальный" код, т.е., код самого приложения. Расчеты, например. Сумма пользовательского и системного времени дает общее количество времени потребления приложением CPU.
Starts - количество раз, которое приложение запускалось (перезапускалось) в течение данного периода. Может показать 0, если приложение уже было запущено, когда начался отсчет времени от начальной метки, 1 - если было запущено единожды. или, к примеру, 29 -столько раз приложение открывалось и закрывалось за указанный период.
В вэйклоках ядра:
C - count, количество раз, когда данный вэйклок ядра активировался
WC - wake count, кол-во пробуждающих - количество раз, когда вэйклок был первым, активированным после того, как устройство вышло из глубокого сна (может обозначать, что это как-то связано с причиной пробуждения, но может и не иметь к этому отношения. как, например, вэйклок мониторинга батареи (battery monitor) на SGS2)
EC - expired count, кол-во истекших. Вэйклоки ядра могут быть активированы бесчисленное количество раз (должны быть отпущены полностью) или на определенный временной промежуток. Если они активируются в течение временного промежутка и не отпускаются во время данного периода, они освобождаются автоматически и данный счетчик увеличивается на 1. К примеру, вэйклоки SMD_* могут отпускать сами себя через некоторое время после активации (~440ms на каждый SMD_DATA5, например). Так запрограммирован драйвер. Что касается PowerManagerService, он никогда не истекает, т.к. служба, контролирующая эти вэйклоки, открыто запрашивает использование/освобождение вэйклока.В: Где сохраняются файл дампа и логкат / как называются файлы?О: С версии 2.3 файлы сохраняются в папку по адресу android/data/com.asksven.betterbatterystats_xdaedition/files/download, они называются BetterBatteryStats-<время>.txt and logcat-<время>.txt, где время указывается в формате "гггг-MM-дд_ЧЧммссССС".
До этой версии файлы по умолчанию сохранялись в корень /sdcard, указанную же выше папку можно было выбрать в расширенных настройках.
На 7 андроиде с любой версией программы файл может не сохраняться в корень SD-card, отметьте в настройках опцию сохранения в вышеуказанную папку и ищите дамп
там.
В: Знаете ли вы, что BBS не работает должным образом для дополнительных пользователей (Андроид 4.2)?О: BBS нормально работает для дополнительных пользователей, пока Вы не включите функции рута. Причина не в BBS, а в отсутствии поддержки режима мультиюзера в версии superuser/supersu, которую Вы используете.
В: Что такое *overflow*?*overflow* (перебор) - это обозначение того, что счетчик статистики превысил пределы. Это может случиться, если Вы долго не перезагружали телефон, или какой-то процесс пробуждения/вэйклок слишком часто происходил. Единственным способом узнать, что скрывается за *overflow* , является перезагрузка и сбор свежих данных.
В: Почему не создается метка 'screen off' (экран выкл)?О: Для создания данной метки необходимо включение дежурного режима.
В: Даже после подключения/отключения от ЗУ на устройстве не показываются никакие метки, кроме 'boot (от загрузки)' О: Что-то препятствует регистрации события отключения от ЗУ в BBS. Проверьте такие инструменты, как greenify или stamina mode, маскирующие подобные события и убедитесь, что BBS находится в белом списке.
В: Что такое дежурный режим и как он работает?О: Дежурный режим - это функция, помогающая Вам анализировать, что происходит при отключенном экране. Когда дежурный режим включен, при отключении экрана создается метка 'экран выкл'. В конфигурации режима Вы также можете создать метку 'экран вкл', когда экран включается (или разблокируется). Опционно, дежурный режим оповестит Вас, когда экран включается и соотношение пробуждений больше, чем установленный порог пробуждений. Во избежание излишней обработки, длительность порога может быть установлена на отключение дежурного режима в короткие промежутки отключения экрана.
В: Мой логкат пустой, написано "Unable to open log device '/dev/log/main': No such file or directory".О: Проверьте, может у Вас кастомное ядро, которое отключает логирование. Если нет, могут отсутствовать некоторые файловые разрешения: используйте функцию исправления разрешений в рекавери.
В: Не работает отображение вэйклоков ядра.О: Ваша прошивка/ядро не дают читать системные файлы (или нужные файлы не создаются системой). Проверьте наличие файла /sys/kernel/debug/wakeup_sources и есть ли в нём какая-то информация. Если нет, значит отключено логирование, как вариант, можно попробовать его
включить. Есть и
другой вариант или
тут. Последнее решение, вроде как исправляющее отсутствие вэйклоков ядра и статистики датчиков, в том числе на Андроид Nougat,
здесь. Ещё можно глянуть
тут.
В: Почему мой дамп отображается кракозябрами?О:Открывать дамп, содержащий русские буквы, надо в
кодировке Юникод (UTF-8).
В: Как избавиться от вэйклоков GSF/GMS/пробуждений поиска Google?О: GSF (google service framework) нельзя избежать и ни в коем случае нельзя замораживать
(мнение автора программы).
Здесь приведены некоторые настройки, которые помогут его уменьшить (на примере
System Tuner). Также в теме на xda рекомендуют настройки от
Karpfenhai.
Здесь он же даёт дополненные и обновленные настройки.
Как вариант, можно скачать
этот архив и разархивировать на компьютер. Подключить телефон к компьютеру и запустить DISABLE -для отключения компонентов, ENABLE- для включения. В данном случае не нужно устанавливать на телефон никаких System Tuner-ов и т.п, единственное - на компе должны быть установлены драйвера adb.
Пример кардинального избавления от Google описывается здесь. Если полное избавление не входит в Ваши планы, можно убрать эти вэйклоки частично. Так, поиск Google, постоянно просыпающийся по ночам, можно усмирить отключением Google Now.
Пример настроек My Android Tools для отключения пуша Google можно посмотреть
тут.
Пример работы телефона без Google -
здесь.
B: Другая статистика некорректна. Она показывает "No data connection (нет соединения для передачи данных)" и "No or unknown signal (нет или неизвестный сигнал)" когда всё время был включен WifiО: "No data connection" и "No or unknown signal" относятся к мобильной сети передачи данных (2G/3G). Поскольку Wifi был включен некоторое время, мобильная передача была отключена, соответственно указано и в статистике: так предусмотрено приложением
В: У меня много вэйклоков NLP. Можно ли с этим что-то сделать?О:
Здесь даётся хороший обзор по NLP и на что это влияет (спасибо @Perseus71)
Перевод поста Perseus71
Network Location Provisioning по сути представляет собой программный аналог чипа GPS приемника в телефоне. И сам по себе, процесс безобиден. Он обеспечивает координацию местоположения когда ему ставится задача сделать это. Выполняется это путем чтения датчиков чипа. При этом создаётся внутренний частичный вэйклок, удерживающий бодрствование телефона до окончания чтения чипа.
Однако, если некоторые приложения продолжают вызывать этот процесс, чтобы обеспечить точное местоположение каждую секунду, вэйклок начнет раздуваться. Теперь давайте поговорим о другой стороне медали.
Google пытался интегрировать Google Now как можно теснее с системой Android, чтобы уменьшить размер / работу приложения Поиск Google. Для того чтобы сделать это, они интегрировали ресиверы NLP в Google Play Service. (Так же, как ресиверы GCM для Google Cloud Messenger). Таким образом, Google Play Service становится общей основой для всех приложений, унифицируя для них место.
Теперь Play Service разрослась и зажила собственной жизнью. Даже если у вас нет Поиска Google на телефоне, Play Service будет удерживать опрос процесса NLP. Он также будет периодически продолжать связываться с базой (я имею в виду Google сервер) по данному вопросу. Это используется для отправки целевых объявлений на Ваш телефон, в зависимости от того, где Вы находитесь. Вся эта вещь высасывает батарею до остатка.
В дополнение к этому, есть недавно появившаяся катастрофическая и суперсбойная опция "Сканирование всегда" в расширенных настройках Wifi, добавляющая ещё больше напряжения в этом вопросе.
Есть только два способа эффективно приручить это необузданное поведение.
1. Выключите службу местоположения. Это затыкает рот процессу NLP, отрезав его от источника. Радикально, в своём роде.
2. Выключите отчёты о местоположении Google. Это в приложении "Настройки Google". При этом отключается то, что я уже упоминал выше.
B: В прошивках на основе CM12 лончер вылетает при попытке разместить виджет. Когда это будет исправлено?О: Автор не нашёл ошибки в коде BBS - сбой происходит в лончере, а не в BBS. Потратив некоторое время на исследование проблемы, разработчик делает вывод о том, что виноват CM12 (другие прошивки на Lollipop такой проблемы не имеют)
В: На 7 Андроиде постоянно выскакивает окно, сообщающее о проблеме приложения.О: Выявлена зависимость от наличия виджета. Если виджет не устанавливать, проблем не возникает.
В: На Xiaomi статистика собирается некорректно. Что можно сделать?О: Посмотрите
тут. Вообще, грамотный расклад по энергосбережению
именно на Xiaomi. Для того, чтобы статистика на MIUI собиралась корректно,
Murrrzaffka опубликовала более чем подробную
инструкцию.
B: Что такого делает программа Greenify, усыпляя приложения?О: Автор BBS
пишет по этому поводу:
В расходе батареи есть понятия вэйклоки – это симптомы и сигналы (пробуждения) – причины.
Greenify помогает исправить ошибки в структуре приложения на уровне причины, в то время, как многие приложения пытаются (безуспешно) бороться с симптомами.
Greenify, похоже, использует новаторский метод «выравнивания» сигналов таким образом, что при пробуждении телефона этим слотом пользуются как можно больше приложений, вместо того, чтобы создавать многочисленные вэйклоки один за другим.
В: Как отследить в деталях интернет-трафик телефона?О:
tester99 дает конкретные рекомендации по этому вопросу
тут.
Программы, которые Вам понадобятся, смотрите в обзоре от
borodovich.
В: Как узнать, какие службы потребляют энергию в фоне?О: Если у Вас Андроид 4.4 и выше, перейдите в опции для разработчиков-статистика процессов. Подробнее
здесь.
В: Что сделать, чтобы на Xiaomi и на 7 Андроиде работали метки?О: Приложение BBS нужно
поставить в автозагрузку. И в данных условиях
не нужно очищать в оперативной памяти BBS.
В: Можно ли вообще отключить вэйклоки и фоновую активность?О:
Можно, но стоит серьёзно подумать - нужно ли и какие последствия это принесёт.
В: Программа не запускается даже при предоставлении разрешений через ADB, что можно сделать?О: Можно попробовать
поставить другие версии приложения.
В: Не получается получить разрешение через ADBО: В настройках "Для разработчиков" отключите
контроль разрешений.
В: Почему прекращена полная русификация?О:
Всем рекомендую использовать оригинальную версию программы. Приложение официально переводится мной с версии 2.0.0.В5. Термины, которые не переведены - это метки и пункты статистики, которые разъясняются в справочном посте. Результаты опроса и вывод о прекращении полной русификации -
тут.
В: Почему на мой вопрос никто не отвечает/мой пост удален?О: Убедитесь, что Вы выложили дамп, сделанный по правилам, указанным в шапке. Не стоит убеждать людей, что дамп сделан в бездействии, когда в строке "экран вкл" имеется существенная активность. Посмотрите, нет ли ответа на Ваш вопрос в алфавитном справочнике или часто задаваемых вопросах. Не поленитесь и воспользуйтесь поиском по теме.