Как укротить разряд батареи «Телефон в режиме ожидания» на нерутированном устройстве?

Я использую AccuBatteryи Kaspersky Battery Lifeдля измерения энергопотребления. Kaspersky Battery Lifeпоказывает, что все задачи требуют минимальной энергии. AccuBattery Proпоказывает, что телефон использует 5-10 мАч. Аккумулятор довольно новый, на 3000 мАч. Телефон THL T9 Pro, Android 6.0установлен на нем.

ОБНОВЛЕНИЕ: я удалил все упомянутые приложения и установил новое, GSam Battery Monitorчтобы получить подробные данные:

GSM-экран

Также есть данные из встроенной диаграммы использования. Проверил приложения в разделе Оптимизация батареи, нашел там только одно, Google Play Services.

встроенная диаграмма

Пожалуйста, проверьте использование батареи в настройках, а не Accubattery и kaspersky (возможно, они больше всего разряжают).
@RahulGopi: большая часть использования находится в режиме ожидания «Телефон».
Как упоминалось ранее, я удалил эти приложения, потому что, возможно, они истощают больше всего. Я проверил встроенную статистику/диаграмму телефона. «Телефон в режиме ожидания» потребляет 1355 мАч. Телефон поднят 13 часов 35 минут назад.
@beeshyams: я обновил свой вопрос.
Нам также нужно, чтобы GSAM работал в течение более длительного периода времени. Убедитесь, что вы включили расширенную отчетность через ADB. plus.google.com/+GeorgeTanner/posts/gT5f7XntmEu , но на первый взгляд кажется, что ваше устройство не «спит» должным образом, обычно это происходит из-за плохого поведения приложения, и что-то вроде WakeLock Detector даст больше информации о реальном причина.
@acejavelin: К сожалению, для WakeLock Detector требуется рутированное устройство. Возможно, вы правы, потому что иногда телефон не заблокирован, PIN-код не нужен.
Я использую Android Debug Bridge версии 1.0.32 на Ubuntu, но он не находит мой телефон.
@beeshyams: я пробовал это Chromiumвчера, но плагин WLD не смог его найти, поэтому я попытался использовать adb devicesкоманду, но в списке нет никаких устройств.
@beeshyams: из командной строки: prntscr.com/ip34wi

Ответы (2)

Вопрос в том , как избавиться от разрядки батареи телефона в режиме ожидания , но, поскольку устройство не рутировано, это требует некоторых усилий. Найти приложения-виновники не так просто, как на корневых устройствах, но это возможно с помощью команд 1

(На момент написания OP работал над своим Linux, чтобы обнаружить его устройство 2 . После этого они могут следовать этому ответу.)

Основная причина холостого стока — прогуливающие (ы), и ответ заключается в том, как обнаружить приложения, которые вызывают болевые вейклоки (вейклоки — это не плохо, они нужны, но не такие). Это может помочь улучшить производительность , но об этом позже.

Все описанные ниже методы работают на моем нерутированном устройстве под управлением Oreo 8.0.

Отслеживание прогуливающих приложений, вызывающих вейклок с разрядкой аккумулятора

  • Измерение расхода заряда батареи и обнаружение пробуждения первого уровня

Статистика использования батареи в Android, к сожалению, малоинформативна и ее сложно интерпретировать (несмотря на улучшения в Oreo). GSam Battery Monitor , возможно, лучше всего подходит для стандартных устройств. Необходимо включить расширенную статистику (Меню → Еще → Включить дополнительную статистику) и выполнить шаги, которые

adb -d shell pm grant com.gsamlabs.bbm android.permission.BATTERY_STATSнадо прочитать 3

Для версии PRO измените «com.gsamlabs.bbm» на «com.gsamlabs.bbm.pro» (спасибо acejavelin ).

Расширенная статистика дает лучшее представление об использовании приложений и пробуждениях, как показано на рисунке. Длительное нажатие на бодрствование (которое в случае ОП составляет 77%) показывает дополнительную информацию, как показано на третьем снимке экрана.

введите описание изображения здесь введите описание изображения здесь

  • Обнаружение плохой wakelock второго уровня (при желании можно начать с этого шага)

Загрузите Wakelock Detector [LITE] ( тема XDA ), который работает без рута ( подробности см. в этом слайде ). Два способа запуска без рута

  • Как расширение Chrome или на Chromium. У ОП были проблемы с этим

  • Лучший метод снова adb

adb shell pm grant com.uzumapps.wakelockdetector.noroot android.permission.BATTERY_STATS

Как использовать (из описания Play Store)

  • Зарядите телефон выше 90% и отключите кабель (или просто перезагрузите телефон)

  • Дайте ему время (1-2 часа), чтобы накопить некоторую статистику использования wakelock.

  • Открытый детектор вейклоков

  • Проверьте приложения вверху, если они показывают очень долгое время использования wakelock, значит, вы нашли причину разрядки аккумулятора!

В то время как 2 часа достаточно, чтобы собрать информацию о главных виновниках, более длительная продолжительность, очевидно, приводит к большему количеству данных. Во время сбора данных не используйте устройство и оставьте его таким же, как вы обычно используете телефон (с подключенными данными или Wi-Fi, как обычно). Скриншоты ниже с моего устройства (не в процессе тестирования, но при обычном использовании).

Слева направо они показывают триггеры пробуждения экрана, блокировки процессора и пробуждения. Проверьте ведущих участников, чтобы понять, что разряжает вашу батарею.

введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь

Устранение плохих приложений или контроль над ними

После того, как вы определили виновных, у вас есть три варианта

Укрощение вейклоков и улучшение Doze

Greenify — фантастическое приложение, но очень мощное, поэтому его нужно использовать осторожно. Прочитайте ветку XDA и вики тега Greenify для получения помощи.

Я ограничусь использованием adb, чтобы высвободить значительную часть его мощности, чтобы помочь обуздать вейклокы и повысить производительность Doze.

Несколько слов о Doze, который появился со времен Marshmallow. Хотя он стал лучше, у него есть некоторые недостатки с точки зрения экономии заряда батареи.

  • Для запуска требуется время, в течение которого приложения активны, вызывая утечку (даже если экран выключен)

  • Режим ожидания прерывается, когда вы перемещаете устройство, например, когда вы двигаетесь, что приводит к разрядке аккумулятора. Doze снова срабатывает, когда вы стоите на месте с периодом ожидания

Greenify решает эти проблемы с помощью Aggresive Doze и Doze на ходу (есть и другие приложения, которые делают то же самое, например ForceDoze , но Greenify управляет как Wakelocks, так и Doze).

Инструкция по использованию адб

Для различных функций вам необходимо запустить команды adb, чтобы предоставить соответствующее разрешение:

  • Служба специальных возможностей, запускаемая по требованию:

    adb -d shell pm grant com.oasisfeng.greenify android.permission.WRITE_SECURE_SETTINGS

  • Aggressive Doze на Android 7.0+ (без полномочий root):

    adb -d shell pm grant com.oasisfeng.greenify android.permission.WRITE_SECURE_SETTINGS

  • Дремать на ходу:

    adb -d shell pm grant com.oasisfeng.greenify android.permission.DUMP

  • Aggressive Doze (на устройстве/ПЗУ с отключенным режимом Doze):

    adb -d shell pm grant com.oasisfeng.greenify android.permission.DUMP

  • Трекер пробуждения:

    adb -d shell pm grant com.oasisfeng.greenify android.permission.READ_LOGS

  • Отключение пробуждения: (Android 4.4~5.x):

    adb -d shell pm grant com.oasisfeng.greenify android.permission.READ_LOGS

    adb -d shell pm grant com.oasisfeng.greenify android.permission.WRITE_SECURE_SETTINGS

Фоновое принудительное применение на Android 8+ (без полномочий root):

adb -d shell pm grant com.oasisfeng.greenify android.permission.READ_APP_OPS_STATS

Я ограничусь снимками настроек с моего устройства, чтобы ускорить его настройку после запуска команд adb, описанных выше. У меня про версия, поэтому игнорируйте эти настройки пожертвований

введите описание изображения здесь введите описание изображения здесь

С этими настройками, даже когда устройство работает, вы увидите предупреждение о переходе в спящий режим в строке состояния со значком приложения и на панели уведомлений. Нажав на это, вы закроете приложение и переведете его в спящий режим.

введите описание изображения здесь

Вы также можете переводить ошибочные приложения в спящий режим из Wakelock Detector, долго нажимая на приложение.

введите описание изображения здесь

Внимание: Будьте очень осторожны с тем, что вы хотите перевести в спящий режим. Простое правило — не переводите критически важные для вас приложения в спящий режим. Спящий режим для ошибочных приложений, которые не являются критическими

Редактировать

BetterBatteryStats ( поток XDA ) — очень мощный инструмент, который был недавно (конец 18 февраля) обновлен для работы с Oreo, и еще приятнее то, что возможно повышение привилегий с использованием adb.

adb -d shell pm grant com.asksven.betterbatterystats android.permission.BATTERY_STATS

adb -d shell pm grant com.asksven.betterbatterystats android.permission.DUMP

На Lollipop и далее дополнительно запускаем:adb -d shell pm grant com.asksven.betterbatterystats android.permission.PACKAGE_USAGE_STATS

введите описание изображения здесьвведите описание изображения здесь

Удачной охоты на вейклоков!

  • Я сделал все, что вы посоветовали, но это не помогло

Вполне вероятно, что системное приложение вызывает Wakelocks, с которыми вы мало что можете сделать на нерутированном устройстве 4



Я также пытался установить необходимый плагин Chrome в Windows, поэтому я также установил драйвер ADB в Windows. Пишет, что установка прошла успешно, но плагин Chrome не может найти устройство. Пожалуйста, проверьте скриншот: prntscr.com/ip2xsi
Следуйте этому руководству или подробному видео для вашей ОС или обратитесь за помощью к кому-нибудь локально, чтобы установить и правильно запустить ADB. Извините, но я не могу помочь с этим удаленно. Быстрее воспользоваться местной помощью
Или найдите кого-нибудь, у кого на устройстве работает ADB, и запустите эти инструкции после их установки. Можно на досуге разобраться с проблемой ADB
Я нашел проблему в этом руководстве. «Измените режим USB на режим «передача файлов (MTP)». Я не могу этого сделать, устройство не может изменить метод после того, как я его выбрал.
Включите параметры разработчика , нажав номер сборки 7 раз (скорее всего, в настройках телефона). Вы найдете новый пункт параметров разработчика в настройках. В этом выберите «Параметры USB»> «MTP».
Также включите отладку по USB
Это может помочь makeuseof.com/tag/…

если вы хотите просто использовать adb для настройки Doze без дополнительных приложений.

вас может заинтересовать https://github.com/easz/doze-tweak

и если вы не хотите устанавливать дополнительные приложения, вы можете профилировать свою батарею adb bugreportи анализировать ее с помощью Battery Historian (например, https://bathist.ef.lc/ ). После выявления плохих приложений вы можете отключить или ограничить их использование.