Ошибка в фоновых службах

#android #service #lag #android-anr-dialog

#Android #Обслуживание #задержка #android-anr-dialog

Вопрос:

Я запускаю 2 фоновых службы

Один для обнаружения встряхивания, а другой для обнаружения длительного нажатия кнопки питания.

Службы отлично работают в фоновом режиме, но иногда, когда приложение работает в фоновом режиме, я снова и снова получаю это сообщение «Имя_приложения не отвечает, подождите или остановитесь». Обе службы являются обычными службами с START_STICKY в onStartCommand()

Я объявил обе службы в манифесте.

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

Если у кого-нибудь есть какие-либо идеи об этих сценариях, пожалуйста, дайте мне знать. и если вам тоже нужно посмотреть код, дайте мне знать.

Ответ №1:

  1. Ищите обновления пользовательского интерфейса, которые происходят в фоновом режиме.
  2. Убедитесь, что в вашем коде нет ненужного таймера (). Если есть, то остановите их, когда они не требуются.
  3. Если вы используете геокодер, попробуйте получить местоположение из фонового потока.
  4. Последний вариант — попробовать внедрить утечку Canary и исправить все утечки.