Står for “Application Not Responding.” ANR er en forkortelse, der beskriver en Android-app, der ikke reagerer. Når en app kører på en Android-enhed og holder op med at reagere, udløses en “ANR”-hændelse. To forhold kan forårsage en ANR-fejl på en Android-enhed:
- En aktiv app reagerer ikke på en inputhændelse inden for 5 sekunder.
- BroadcastReceiver-klassen afslutter ikke eksekveringen efter lang tid.
Hvis en ANR-fejl opstår på din Android-enhed, vises der en dialogboks på skærmen. Meddelelsen informerer dig om, at programmet ikke reagerer, og spørger, om du vil lukke programmet. Du har to muligheder: Vent eller OK. Hvis du vælger “Vent”, kan du fortsætte med at vente, hvis du ønsker at give appen mere tid. Hvis du vælger “OK”, lukker du appen, og du mister muligvis uopbevaret aktivitet.
ANR-fejl opstår af mange forskellige årsager. Nogle er udviklerrelaterede, f.eks. en dårligt skrevet funktion, der looper flere gange end nødvendigt. Andre er enhedsrelaterede, hvilket betyder, at hardwaren ikke kan følge med kravene fra appen. Hvis en app f.eks. gengiver et stort dokument, kan det tage flere sekunder at indlæse dataene og gengive billedet på skærmen. Dette kan give anledning til en ANR-meddelelse, selv om processen måske afsluttes et par sekunder senere.
Udviklere
Da ANR’er skaber en dårlig brugeroplevelse, forsøger udviklerne at undgå dem eller i det mindste at reducere antallet af forekomster så meget som muligt. Android-operativsystemet registrerer ANR’er og de tilsvarende aktiviteter for at hjælpe udviklerne med at fejlfinde deres apps. Hvis en app distribueres via Google Play, sendes ANR-dataene automatisk til Google. Udviklere kan gennemgå ANR-dataene i afsnittet Android Vitals i Developer Console.
BEMÆRK: Der overføres ingen personlige data sammen med ANR-data. Kun appversionen, Android-versionen, enhedstypen og aktivitetsdata (f.eks. den aktuelle proces) registreres.
Opdateret: 11. september 2018