Как диагностировать разрядку аккумулятора на устройстве Android с помощью logcat?


17

Я столкнулся с серьезной проблемой разрядки батареи на моем официальном ПЗУ Cyanogenmod. После обсуждения этого на форумах сообщества было предложено использовать logcat для устранения проблемы.

Проблема:
каждый раз, когда я отключаю устройство после полной зарядки, оно быстро разряжает батарею. Он теряет почти 50% за 15-20 минут. Как уже упоминалось выше, я планирую использовать logcat, чтобы попытаться выявить проблему. Я планирую запустить adb logcatсразу после отключения телефона от питания. Однако в прошлом я использовал logcat и обнаружил, что извлекать конкретные данные из большого вывода очень и очень сложно. Я уже прошел официальную страницу справки logcat и Чтение и запись логов, чтобы посмотреть, смогу ли я найти что-нибудь полезное, но не смог найти решение своей проблемы.

Вопрос:

  • В любом случае можно использовать фильтры или какую-либо другую функцию, где я могу ограничить вывод logcat статистикой, которая связана только с использованием батареи?
  • Может ли что-то подобное adb shell dumpsys batterystats > batterystats.txtбыть более полезным для меня? Если так, как я могу использовать это, чтобы получить то, что я хочу?

Battery Graph1 Шаблон использования ничего не показывает Battery Graph 2

ОБНОВЛЕНИЕ:
BatteryStats для моей утечки теперь можно найти здесь, в Patebin. Также это моя Батарея Исторический Диаграмма:
Батарея Историческая Диаграмма



1
Из графика разряда я бы предпочел неисправную батарею, а не приложение (особенно, если это всегда происходит так). Может быть, вы пытаетесь новый аккумулятор (при условии, что ваше устройство поддерживает его замену)?
Иззи

Я думаю, что проблема с батареей, а не приложение. Попробуйте позаимствовать батарею у того же устройства и проверить, не возникает ли такая же ошибка с более новой батареей. Если это не так, вам просто нужно получить новую батарею. Если бы это продолжалось, я бы все равно не думал, что это из-за приложения - чтобы разряжать столько батареи, ему нужно было бы активировать GPS, иметь большой сетевой трафик и одновременно выполнять сложные процессы.
Намнодорел

@Namnodorel, к сожалению, это несъемный аккумулятор .. Я также думаю, что это не из-за какого-либо приложения. Это либо утечка в ПЗУ, либо что-то еще. Я предполагаю, что в батарее нет проблем, потому что, как я уже сказал, после перезарядки, если после падения, он работает отлично: |
TheHeman

Батареи, которые разряжаются, иногда могут быть несовместимы. Батарея моего Galaxy S6 медленно разряжается, и в некоторые дни это лучше, а иногда хуже. Моя утечка не так значительна, как ваша, но я считаю, что это не из-за приложения. Вы пробовали запустить телефон в безопасном режиме? Вы пробовали сброс к заводским настройкам (столь же ужасным и неудачным, как они должны работать и восстанавливаться после)?
Кайзервольф

Ответы:


1

Вы уверены, что не любое приложение разряжает вашу батарею? Вы можете узнать это, загрузив свой телефон в безопасном режиме. Прочтите Инструкции по загрузке телефона в безопасном режиме . Если ваша батарея не разряжается в безопасном режиме, попробуйте удалить установленные вами приложения после того, как вы начали видеть это странное поведение. Если вы не можете определить, какое это приложение, попробуйте сбросить его до заводских настроек. Кроме того, если батарея разряжается так быстро, это вполне может быть неисправный аккумулятор.


Что ж, общее предположение хорошо, но на самом деле оно не отвечает на реальный вопрос (диагностируйте использование батареи с помощью logcat)
Эндрю Т.

@AndrewT. Вообще говоря, вы правы. Но учитывая, что OP хочет решить эту проблему, исправление его в logcat каким-то образом делает проблему XY (в определенных пределах). Поэтому, хотя вопрос не соответствует «буквально» на 100%, я бы сказал, что он подходит к проблеме и предлагает подход к ее решению.
Иззи

0

В любом случае можно использовать фильтры или какую-либо другую функцию, где я могу ограничить вывод logcat статистикой, которая связана только с использованием батареи?

Конечно. Более простой способ - использовать монитор устройства из Android Studio. Более сложный способ - использовать интерфейс командной строки для adb logcat (он использует ANDROID_LOG_TAGS env var). Cf logcat Документация инструмента командной строки на developer.android.com.

Может ли что-то вроде adb shell dumpsys batterystats> batterystats.txt быть более полезным для меня? Если так, как я могу использовать это, чтобы получить то, что я хочу?

Батарея разряжается, главным образом, из-за непредвиденных условий (ошибки, приводящие приложения к бесконечному циклу, плохо обнаруженные устройства, делающие доступ неоптимальным, например, чтение байта на байт вместо Мб на мб и т. Д.). Вы должны использовать возможность фильтрации adb logcat, чтобы найти такие непредвиденные условия. Но имейте в виду, что такие инструменты в основном используются разработчиками приложений или даже платформ, и иногда может быть немного, но сложно интерпретировать такие журналы. Однако 100% парней, которые преуспели, постарались ;-)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.