Il semble que votre navigateur ne soit pas pris en charge par notre application.

Coupables courants

Généralement, les ANR sont déclenchés parce que votre application effectue les opérations suivantes :

  1. Exécuter des opérations lentes avec des E/S sur le thread principal.
  2. Faire de longs calculs sur le thread principal.
  3. Préparer un appel binder synchrone dans le thread principal et l’autre processus prend du temps pour répondre.
  4. Attendre dans le thread principal un autre thread qui effectue une longue opération.
  5. Se coincer dans une situation de deadlock. Les blocages peuvent se produire dans le thread principal lorsqu’il attend des ressources qu’un autre processus n’a pas libérées, il ne peut donc pas acquérir les ressources dont il a besoin. Ces autres processus peuvent être dans un autre thread, votre processus, ou dans un appel de liant.

Techniques de diagnostic

Utiliser le mode strict

Avec StrictMode, vous pouvez trouver des opérations d’E/S accidentelles.

Lisez plus sur StrictMode dans la documentation officielle.

Activer les dialogues ANR en arrière-plan dans les options du développeur

Les ANR ne sont pas tous visibles par l’utilisateur ; par conséquent, l’application peut être confrontée à des problèmes de performance sans que l’utilisateur s’en rende compte. Activez les dialogues ANR en arrière-plan dans les options du développeur.

Inspectez les fichiers de trace en utilisant adb

Les fichiers de trace sont générés dans un événement ANR. Vous pouvez tirer ces fichiers en utilisant Android Debug Bridge (adb) en tant que root en utilisant les commandes suivantes :

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

.

Laisser un commentaire