Почему мое приложение Android использует процессор в фоновом режиме?
Я пишу приложение для Android уже несколько месяцев. Это еще не выпущено, но это установлено в моем устройстве.
Сегодня я получил уведомление от приложения Battery Doctor о том, что мое приложение потребляет много ресурсов ЦП, хотя я не использовал его со вчерашнего дня.
Так что в основном мое приложение работает в фоновом режиме, оно не должно ничего делать, но использует процессор.
Поэтому я открыл TraceView и выполнил некоторое профилирование своего приложения, когда оно было в фоновом режиме (я не взаимодействовал с моим приложением вообще в течение этого времени профилирования), и вот что я получил: http://i.imgur.com/PYg6twX.png
Я очень невежественен здесь. Я не вижу никаких функций из моего реального кода, поэтому даже не знаю, с чего начать. И я не очень понимаю, что делают эти функции на скриншоте или почему они вообще там отображаются.
Итак, у меня есть пара вопросов, с которыми я бы очень хотел помочь:
- мои результаты профилирования ожидаются и хорошо? Или эти функции не должны отображаться, если я не взаимодействую с моим приложением?
- если эти функции не должны отображаться, кто-нибудь может догадаться, что может быть не так в моем приложении? Может ли Adobob быть причиной?
Большое спасибо!
0 ответов
У меня такая же проблема
Смотрите мой профиль процессора. Мое приложение работало в фоновом режиме, но загрузка процессора всегда составляла 1-5%, это приведет к разрядке батареи, если продолжать работать так долго.
Admob?
По предложению @CommonsWare я удаляю зависимость от admob и запускаю снова. Загрузка процессора снижается почти до 0%. Смотрите новый профиль: (версия для AdMob SDK: 17.1.2
)
Но это не решение. Я проверяю их пример приложения, оно не использует процессор в фоновом режиме.
я починил это
Если вы используете баннерную рекламу, вы должны позвонить по крайней мере AdView#pause
или же AdView#destroy
в соответствующем событии деятельности хозяина. В противном случае, просмотр рекламы продолжает проверять "Активный просмотр", и это приводит к загрузке ЦП.