В последнее время я установил несколько приложений для целей разработки и тестирования Android. Я заметил, что мой телефон разряжается батареей больше, чем раньше, даже когда приложения не были открыты и активны. Есть ли Android-инструмент, который поможет мне определить, какие приложения используют фоновые службы? И если это так, поможет ли инструмент предоставить мне подробную информацию о том, какое использование полосы пропускания A используется по сравнению с приложением B? Мне интересно узнать, использует ли приложение широковещательные приемники, службы и т. Д. Неправильно. Я также хотел бы использовать этот инструмент для себя при разработке приложения, чтобы узнать, не трачу ли я слишком много циклов процессора или памяти, которые могут привести к разрядке батареи. Спасибо!Как отслеживать фоновые сервисы для приложений на устройствах Android?
1
A
ответ
1
Вы можете использовать dumpsys.
Например:
$ adb shell dumpsys activity
будет отображать всю информацию о текущих запуска деятельности, услуги, зарегистрированные широковещательные приемники, до намерения, и многое другое.
Вы также можете сбросить информацию из batterystats службы:
$ adb shell dumpsys batterystats
Он покажет какие-либо в настоящее время проводятся wakelocks. Чтобы увидеть все доступные услуги сваливать вы можете использовать:
$ adb shell service list
UPDATE:
dumpsys очень хардкор. Я не знаю никаких инструментов графического интерфейса. Лучшее, что я могу вам посоветовать, - прочитать исходный код методов дампа Binder #.
Например, here is ActivityManagerService dump method.
Большое спасибо pepyakin. Есть ли какой-нибудь GUI-инструмент, который упростит чтение этих журналов? Или знаете ли вы какие-либо ссылки о том, как читать эти журналы? – codeshark
Боюсь, нет. Я обновил ответ. – pepyakin