Det ser ud til, at din browser ikke understøttes af vores program.

Almindelige syndere

Generelt udløses ANR’er, fordi dit program gør følgende:

  1. Udfører langsomme operationer med I/O på hovedtråden.
  2. Udfører lange beregninger i hovedtråden.
  3. Udfører et synkront binderkald i hovedtråden, og den anden proces tager tid om at svare.
  4. Venter i hovedtråden på en anden tråd, der udfører en lang operation.
  5. Stuck i en deadlock-situation. Deadlocks kan opstå i hovedtråden, når den venter på ressourcer, som en anden proces ikke har frigivet, så den ikke kan få de ressourcer, den har brug for, og derfor kan den ikke få de nødvendige ressourcer. Disse andre processer kan være i en anden tråd, din proces eller i et binderkald.

Diagnoseteknikker

Brug strict mode

Med StrictMode kan du finde utilsigtede I/O-operationer.

Læs mere om StrictMode i den officielle dokumentation.

Aktiver ANR-dialoger i baggrunden i udviklerindstillinger

Det er ikke alle ANR’er, der er synlige for brugeren; derfor kan programmet have problemer med ydeevnen, uden at brugeren er klar over det. Aktiver ANR-dialoger i baggrunden i udviklerindstillingerne.

Inspicer sporingsfiler ved hjælp af adb

Sporingsfiler genereres i en ANR-hændelse. Du kan hente disse filer ved hjælp af Android Debug Bridge (adb) som root ved at bruge følgende kommandoer:

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

Skriv en kommentar