Parece que su navegador no es compatible con nuestra aplicación.

Culpas comunes

Generalmente, los ANR se disparan porque su aplicación está haciendo lo siguiente:

  1. Realizando operaciones lentas con E/S en el hilo principal.
  2. Realizando cálculos largos en el hilo principal.
  3. Realizando una llamada binder síncrona en el hilo principal y el otro proceso está tardando en responder.
  4. Esperando en el hilo principal a otro hilo que está realizando una operación larga.
  5. Atrapado en una situación de deadlock. Los bloqueos pueden ocurrir en el hilo principal cuando está esperando recursos que otro proceso no ha liberado, por lo que no puede adquirir los recursos que necesita. Estos otros procesos pueden estar en otro hilo, en su proceso o en una llamada al binder.

Técnicas de diagnóstico

Usa el modo estricto

Con StrictModepuedes encontrar operaciones de E/S accidentales.

Lea más sobre StrictModeen la documentación oficial.

Habilitar diálogos ANR en segundo plano en las opciones de desarrollador

No todos los ANR son visibles para el usuario; por lo tanto, la aplicación puede estar enfrentando problemas de rendimiento sin que el usuario se dé cuenta. Habilite los diálogos ANR en segundo plano en las opciones de desarrollador.

Inspeccione los archivos de rastreo utilizando adb

Los archivos de rastreo se generan en un evento ANR. Puede extraer estos archivos utilizando Android Debug Bridge (adb) como root mediante los siguientes comandos:

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

Deja un comentario