BetterBatteryStats — найти причины разряда батареи на Android
Быстрые ссылки
- Начало работы
- Что такое wakelock
- Просмотр partial wakelocks
- Устранение partial wakelocks

Начало работы
BetterBatteryStats — это приложение, которое показывает детальную статистику использования батареи и объясняет, какие процессы держат устройство пробужденным. Приложение доступно на Google Play за $2.99; если вы хотите попробовать сначала, можно скачать бесплатную версию с обсуждения на форуме XDA Developers. Поддержите разработчика, купив приложение, если оно оказалось для вас полезным.
После установки приложение начнёт сбор данных после первой полной зарядки. Зарядите устройство, а затем дайте приложению поработать: используйте телефон как обычно в течение нескольких часов, проведите типичный день или оставьте устройство на ночь, чтобы увидеть поведение в простое. BetterBatteryStats опирается на стандартные события Android, поэтому само по себе оно не должно существенно расходовать заряд.

Что такое wakelock
Определение: wakelock — механизм Android, позволяющий приложению временно не давать устройству уходить в глубокий сон, чтобы завершить фоновую работу.
Ваш Android-устройство имеет три основных состояния:
- Экран включён и устройство активно (вы им пользуетесь).
- Экран выключен, но устройство бодрствует (выполняются фоновые задачи).
- Устройство спит (низкое энергопотребление).
Чтобы максимизировать время работы, вы хотите, чтобы устройство как можно чаще было в режиме сна. Однако приложения, которым нужно выполнять действия в фоне — получение почты, синхронизация контактов, проигрывание музыки при выключенном экране, геолокация для уведомлений — используют partial wakelocks, чтобы устройство оставалось бодрствующим на время операции.
BetterBatteryStats показывает, сколько времени устройство было бодрствующим при выключенном экране, и какие процессы создавали эти wakelock’и. На скриншоте ниже видно: телефон был включён более 21 часа, экран работал всего 12 минут, но устройство бодрствовало почти два часа из‑за фоновых задач.

Важно: наличие большого количества «awake time with screen off» не всегда означает баг — если вы слушаете музыку с выключенным экраном или используете GPS‑трекер, такое поведение ожидаемо.
Просмотр partial wakelocks
Чтобы увидеть partial wakelock’и, откройте меню Other вверху приложения и выберите Partial Wakelocks. Вы увидите список записей — приложения и службы, по которым регистрировались wakelock’и. Сверху будут те источники, которые держали устройство бодрствующим дольше всего — это ваши приоритеты для оптимизации.
На примере ниже видны несколько причин: Google Maps обновляет геопозицию в фоне, Pocket синхронизирует статьи, Twitter подкачивает твиты, Google+ синхронизирует контент.

Устранение partial wakelocks
Когда вы определили виновников, у вас есть несколько опций:
- Отключить фоновые функции в самом приложении (например, отключить обновление местоположения в Google Maps: Google Maps → Settings → Location settings → Location reporting → Do not update your location).
- Уменьшить частоту синхронизации (Pocket, Twitter и др.) или включить ручной режим синхронизации.
- Отключить синхронизацию в целом для приложения (если вы не пользуетесь им).
- Удалить приложение, которое вы не используете.
- Если приложение предустановлено и не удаляется, отключите его в Настройках: Настройки → Приложения → Все → выберите приложение → Отключить.

Пример компромисса: если Gmail генерирует значимые wakelock’и, вы можете отключить автоматическую синхронизацию — тогда уведомления и новая почта будут приходить только при ручном обновлении.

Если приложение продолжает генерировать wakelock’и и вы им не пользуетесь — удалите его. Если удалить нельзя, отключите его, как описано выше.

Если вы не понимаете, к какому действию относится конкретный wakelock, выполните поиск по его имени — велика вероятность, что кто‑то уже описал проблему и решение.
Мини‑методология: как корректно тестировать изменения
- Полностью зарядите устройство до 100% и перезапустите (опционально).
- Установите BetterBatteryStats и включите стандартный режим сбора.
- Выполните сценарий: 8–24 часа типичного использования или ночь простоя.
- Откройте Partial Wakelocks и зафиксируйте верхние записи.
- Внесите одну изменения (например, отключили sync в одном приложении).
- Снова зарядите устройство и повторите сбор ещё 8–24 часа.
- Сравните метрики: уменьшилось ли время awake with screen off? Если да — изменение эффективно.
Краткая формула: тестируйте по одной гипотезе за раз и собирайте минимум один полный цикл сна/работы устройства.
Критерии приёмки
- Время бодрствования при выключенном экране уменьшилось минимум на 20% по сравнению с базовой линией.
- Количество и продолжительность wakelock’ов у целевого приложения снизились.
- Функциональность, важная для вас (уведомления, синхронизация), осталась приемлемой.
Когда это не сработает
- Если устройство постоянно держит wakelock из‑за системной службы или багов в прошивке, а не из‑за стороннего приложения.
- Если вы используете приложения с намеренной фоновой активностью (навигация, трекеры, аудиоплееры).
- Если проблема вызвана аппаратным сбоем (например, неверный драйвер радио-модуля), требующим обновления прошивки.
В таких случаях BetterBatteryStats поможет диагностировать источник, но решение потребует обновления системы, патча от производителя или смены приложения.
Альтернативные подходы
- Используйте встроенные средства Android (Battery → Usage) для общей картины, но они менее детализированы.
- Попробуйте другие диагностические приложения и утилиты (например, wakelock detectors), но они часто требуют root или специальных разрешений.
- Отключайте фоновые разрешения по приложению через Настройки → Приложения → Разрешения.
Чек‑лист администратора и обычного пользователя
Для обычного пользователя:
- Установить BetterBatteryStats.
- Зарядить и дать собрать данные.
- Посмотреть Partial Wakelocks.
- Отключить синхронизацию в проблемных приложениях.
- Проверить влияние через 24 часа.
Для администратора/техспециалиста:
- Собрать логи и снимки экрана списка wakelock’ов.
- Проверить, связаны ли wakelock’и с системными службами.
- Протестировать отключение и переустановку проблемных приложений.
- При необходимости собрать bugreport и направить поставщику ПО.
Примерный план действий (playbook)
- Сбор данных: 24 часа с BetterBatteryStats.
- Приоритизация: топ‑5 источников wakelock’ов.
- Минимальные вмешательства: отключение фоновой синхронизации по одному приложению.
- Оценка: через 24–48 часов повторный сбор.
- Алгоритм принятия решения: если улучшение < 10% — откат изменений; 10–25% — оставить; >25% — распространить настройку на другие устройства.
Глоссарий на одной строке
- Wakelock: механизм, который не даёт устройству перейти в глубокий сон, пока выполняется задача.
- Partial wakelock: удерживает CPU пробужденным при выключенном экране.
- Awake time with screen off: время, в течение которого устройство было бодрствующим, когда экран был выключен.
Факты и эмпирические наблюдения
- Большая часть потерь батареи в режиме простоя вызвана именно длительным awake time with screen off.
- Простое снижение частоты фоновой синхронизации часто даёт заметный прирост автономности.
- Коренные решения (патчи прошивки или исправления приложений) дают лучший эффект, чем временные меры.
Важно: каждое изменение — компромисс между функциональностью и временем работы. Документируйте настройки, чтобы при необходимости быстро вернуть прежнее поведение.
Для дополнительных советов по увеличению времени работы батареи смотрите наш полный гид по максимизации автономности Android.