Parece que o seu browser não é suportado pela nossa aplicação.

Criminosos comuns

De um modo geral, os ANRs são accionados porque a sua aplicação está a fazer o seguinte:

  1. Executar operações lentas com E/S no fio principal.
  2. Fazer cálculos longos na thread principal.
  3. Executar uma chamada de binder síncrona na thread principal e o outro processo está demorando a responder.
  4. Esperar na thread principal por outra thread que esteja realizando uma operação longa.
  5. Entubar em uma situação de deadlock. Os deadlocks podem acontecer na thread principal quando se está esperando recursos que outro processo não liberou, então não pode adquirir os recursos necessários. Estes outros processos podem estar em outro thread, seu processo, ou em uma chamada binder.

Técnicas de diagnóstico

Utilizar modo estrito

Com StrictMode você pode encontrar operações de E/S acidentais.

Ler mais sobre StrictMode na documentação oficial.

Ativar diálogos ANR de fundo nas opções do desenvolvedor

Nem todos os ANRs são visíveis para o usuário; portanto, a aplicação pode estar enfrentando problemas de desempenho sem que o usuário perceba. Habilitar diálogos de ANR em segundo plano nas opções do desenvolvedor.

Inspectar arquivos de rastreamento usando adb

Arquivos de rastreamento são gerados em um evento ANR. Você pode puxar esses arquivos usando o Android Debug Bridge (adb) como root usando os seguintes comandos:

adb rootadb shell ls /data/anradb pull /data/anr/<filename>

Deixe um comentário