Staat voor “Application Not Responding.” ANR is een afkorting die een niet reagerende Android app beschrijft. Wanneer een app wordt uitgevoerd op een Android-toestel en niet meer reageert, wordt een “ANR”-gebeurtenis geactiveerd. Twee omstandigheden kunnen een ANR-fout op een Android-toestel veroorzaken:
- Een actieve app reageert niet binnen 5 seconden op een invoergebeurtenis.
- De klasse BroadcastReceiver is na lange tijd niet klaar met uitvoeren.
Als een ANR-fout op uw Android-toestel optreedt, verschijnt er een dialoogvenster op het scherm. Het bericht informeert u dat de applicatie niet reageert en vraagt u of u de app wilt sluiten. U heeft twee opties: Wachten of OK. Als u “Wachten” kiest, kunt u blijven wachten als u de app meer tijd wilt geven. Als u “OK” kiest, wordt de app gesloten en kunt u niet-opgeslagen activiteiten kwijtraken.
ANR-fouten treden om veel verschillende redenen op. Sommige zijn ontwikkelaar-gerelateerd, zoals een slecht geschreven functie die meer loops maakt dan nodig is. Andere zijn apparaat-gerelateerd, wat betekent dat de hardware de eisen van de app niet kan bijhouden. Als een app bijvoorbeeld een groot document rendert, kan het enkele seconden duren om de gegevens te laden en de afbeelding op het scherm te renderen. Dit kan een ANR-melding opleveren, hoewel het proces een paar seconden later kan worden voltooid.
Ontwikkelaars
Omdat ANR’s een slechte gebruikerservaring opleveren, streven ontwikkelaars ernaar ze te vermijden of op zijn minst het aantal voorvallen zo veel mogelijk te beperken. Het Android-besturingssysteem registreert ANR’s en de bijbehorende activiteiten om ontwikkelaars te helpen hun apps te debuggen. Als een app via Google Play wordt verspreid, worden de ANR-gegevens automatisch naar Google gestuurd. Ontwikkelaars kunnen de ANR-gegevens bekijken in de sectie Android Vitals van de Developer Console.
NOTE: Er worden geen persoonlijke gegevens verzonden met ANR-gegevens. Alleen de app-versie, Android-versie, apparaattype en activiteitsgegevens (zoals het huidige proces) worden vastgelegd.
Bijgewerkt: 11 september 2018