Se pare că browserul dvs. nu este suportat de aplicația noastră.

Cuvântătoare comune

În general, ANR-urile sunt declanșate deoarece aplicația dvs. face următoarele:

  1. Realizează operațiuni lente cu I/O pe firul principal.
  2. Realizează calcule lungi pe firul principal.
  3. Realizează un apel de binder sincron în firul principal și celuilalt proces îi ia timp să răspundă.
  4. Așteaptă în firul principal un alt fir care efectuează o operație lungă.
  5. Se blochează într-o situație de impas. Blocajele pot apărea în firul principal atunci când acesta așteaptă resurse pe care un alt proces nu le-a eliberat, astfel încât nu poate dobândi resursele de care are nevoie. Aceste alte procese pot fi într-un alt fir de execuție, în procesul dvs. sau într-un apel binder.

Tehnici de diagnosticare

Utilizați modul strict

Cu StrictMode puteți găsi operații I/O accidentale.

Citește mai multe despre StrictMode în documentația oficială.

Activați dialogurile ANR din fundal în opțiunile dezvoltatorului

Nu toate ANR-urile sunt vizibile pentru utilizator; prin urmare, este posibil ca aplicația să se confrunte cu probleme de performanță fără ca utilizatorul să-și dea seama. Activați dialogurile ANR din fundal în opțiunile dezvoltatorului.

Inspectați fișierele de urmărire utilizând adb

Filele de urmărire sunt generate într-un eveniment ANR. Puteți extrage aceste fișiere utilizând Android Debug Bridge (adb) ca root, folosind următoarele comenzi:

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

.

Lasă un comentariu