ANR
Staat voor "Application Not Responding." ANR is een afkorting die een niet-reagerende Android-app beschrijft. Wanneer een app op een Android-apparaat actief is en niet meer reageert, wordt een gebeurtenis met de naam "ANR" geactiveerd. Twee omstandigheden kunnen een ANR-fout op een Android-apparaat veroorzaken:
- Een actieve app reageert niet binnen 5 seconden op een invoergebeurtenis.
- De BroadcastReceiver klasse is na lange tijd nog niet klaar met uitvoeren.
Als er een ANR-fout optreedt op je Android-apparaat, verschijnt er een dialoogvenster op het scherm. In het bericht staat dat de toepassing niet reageert en wordt gevraagd of je de app wilt sluiten. Je hebt twee opties: of . Als je "Wachten" kiest, kun je blijven wachten als je de app meer tijd wilt geven. Als je "OK" kiest, wordt de app gesloten en raak je mogelijk niet-opgeslagen activiteiten kwijt.
ANR-fouten kunnen veel verschillende oorzaken hebben. Sommige hebben met de ontwikkelaar te maken, zoals een slecht geschreven functie die vaker dan nodig wordt herhaald. Andere hebben met het apparaat te maken, wat betekent dat de hardware de vereisten van de app niet kan bijhouden. Als een app bijvoorbeeld een groot document weergeeft, kan het enkele seconden duren om de gegevens te laden en de afbeelding op het scherm te renderen. Dit kan een ANR-bericht veroorzaken, hoewel het proces enkele seconden later kan worden voltooid.
Ontwikkelaars
Omdat ANR's voor een slechte gebruikerservaring zorgen, proberen ontwikkelaars ze te voorkomen of het aantal gevallen op zijn minst 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 het gedeelte Android Vitals van de Developer Console.
NOTE: Er worden geen persoonlijke gegevens met ANR-gegevens verzonden. Alleen de app-versie, de Android-versie, het apparaattype en activiteitsgegevens zoals het huidige (proces) worden geregistreerd.
Test je kennis
