Det verkar som om din webbläsare inte stöds av vårt program.

Högre vanliga gärningsmän

I allmänhet utlöses ANR:s på grund av att ditt program gör följande:

  1. Gör långsamma operationer med I/O på huvudtråden.
  2. Gör långa beräkningar i huvudtråden.
  3. Gör ett synkront bindemedelsanrop i huvudtråden och den andra processen tar tid på sig att svara.
  4. Väntar i huvudtråden på en annan tråd som utför en lång operation.
  5. Skapar fast i en dödlägesituation. Dödslås kan uppstå i huvudtråden när den väntar på resurser som en annan process inte har frigjort, så den kan inte skaffa de resurser den behöver. Dessa andra processer kan befinna sig i en annan tråd, din process eller i ett bindemedelsanrop.

Diagnosmetoder

Använd strikt läge

Med StrictMode kan du hitta oavsiktliga I/O-operationer.

Läs mer om StrictMode i den officiella dokumentationen.

Aktivera ANR-dialoger i bakgrunden i utvecklaralternativ

Inte alla ANR är synliga för användaren; därför kan programmet ha prestandaproblem utan att användaren inser det. Aktivera ANR-dialoger i bakgrunden i utvecklaralternativ.

Inspektera spårfiler med adb

Spårfiler genereras i en ANR-händelse. Du kan hämta dessa filer med hjälp av Android Debug Bridge (adb) som root genom att använda följande kommandon:

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

Lämna en kommentar