ANR
Steht für „Application Not Responding“. ANR ist eine Abkürzung für eine nicht reagierende Android-App. Wenn eine App auf einem Android-Gerät ausgeführt wird und nicht mehr reagiert, wird ein „ANR“-Ereignis ausgelöst. Zwei Bedingungen können einen ANR-Fehler auf einem Android-Gerät verursachen:
- Eine aktive App reagiert innerhalb von 5 Sekunden nicht auf ein Eingabe-Ereignis.
- Die Klasse BroadcastReceiver beendet ihre Ausführung nach längerer Zeit nicht.
Wenn auf Ihrem Android-Gerät ein ANR-Fehler auftritt, wird ein Dialogfeld auf dem Bildschirm angezeigt. Die Nachricht informiert Sie darüber, dass die Anwendung nicht reagiert, und fragt, ob Sie die App schließen möchten. Sie haben zwei Möglichkeiten: oder . Wenn Sie „Warten“ auswählen, können Sie weiter warten, wenn Sie der App mehr Zeit geben möchten. Wenn Sie „OK“ auswählen, wird die App geschlossen, und möglicherweise gehen nicht gespeicherte Aktivitäten verloren.
ANR-Fehler können viele verschiedene Ursachen haben. Einige hängen mit der Entwicklung zusammen, etwa eine schlecht geschriebene Funktion, die mehr Schleifendurchläufe als nötig ausführt. Andere hängen mit dem Gerät zusammen. Das bedeutet, dass die Hardware mit den Anforderungen der App nicht Schritt halten kann. Wenn eine App beispielsweise ein großes Dokument rendert, kann es mehrere Sekunden dauern, die Daten zu laden und das Bild auf dem Bildschirm zu rendern. Dies kann eine ANR-Nachricht auslösen, obwohl der Prozess einige Sekunden später abgeschlossen sein kann.
Entwickler
Da ANRs zu einer schlechten Benutzererfahrung führen, versuchen Entwickler, sie zu vermeiden oder zumindest die Anzahl ihres Auftretens so weit wie möglich zu reduzieren. Das Android-Betriebssystem zeichnet ANRs und die zugehörigen Aktivitäten auf, damit Entwickler ihre Apps debuggen können. Wenn eine App über Google Play verbreitet wird, werden die ANR-Daten automatisch an Google gesendet. Entwickler können die ANR-Daten im Bereich „Android Vitals“ der Entwicklerkonsole überprüfen.
NOTE: Mit den ANR-Daten werden keine personenbezogenen Daten übertragen. Es werden nur die App-Version, die Android-Version, der Gerätetyp und Aktivitätsdaten z. B. der aktuelle (Prozess) aufgezeichnet.
Testen Sie Ihr Wissen
