AppReviewX

Alle Ratgeber

Android-ANR-Fehler finden und beheben

· 1 Min. Lesezeit

ANR steht für „Application Not Responding“. Android zeigt es, wenn der Hauptthread deiner App zu lange blockiert ist, bei Eingaben typischerweise etwa fünf Sekunden. Nutzer sehen ein Einfrieren und einen Dialog, die Play Console zählt es als Qualitätsproblem.

Finden

Öffne in der Play Console Android Vitals → ANRs und Abstürze. Sieh dir die Cluster, die Android-Versionen und die Stacktraces an. Lokal zeigen dir der Profiler in Android Studio und StrictMode in Debug-Builds Arbeit auf dem Hauptthread.

Den Trace lesen

Der Bericht zeigt, was der Hauptthread gerade tat. Suche den ersten Frame aus deinem eigenen Code. Typische Ursachen:

  1. Festplatte oder Netzwerk auf dem Hauptthread. Datenbankabfragen, Dateizugriffe, synchrones HTTP.
  2. Sperrenkonflikte. Der Hauptthread wartet auf eine Sperre, die ein Hintergrundthread hält.
  3. Schwere Arbeit in onCreate, einem Broadcast Receiver oder beim Dienststart. Das läuft auf dem Hauptthread, solange du es nicht auslagerst.
  4. Langsamer Start, zum Beispiel wenn viele SDKs auf einmal initialisiert werden.

Beheben

Testen

ANRs zeigen sich oft nur auf langsamen Geräten und bei großen Datenmengen. Teste auf einem alten Einsteigerhandy, mit großer Datenbank und gedrosseltem Netz. Bitte Tester mit günstigen Geräten, die Hauptabläufe durchzugehen. Unser Geräte-Leitfaden erklärt die Auswahl.

Fragen von Entwicklern

Ist ein ANR dasselbe wie ein Absturz? Nein. Die App schließt sich nicht von selbst, der Nutzer sieht ein Einfrieren und beendet sie vielleicht selbst.

Welche ANRs sind am wichtigsten? Die beim Start und im Hauptablauf, und alle, die die Play Console über dem Schwellenwert für schlechtes Verhalten markiert.

Du brauchst Tester für deine App? Öffne eine Testgruppe bei AppReviewX. Kostenlos starten

Weitere Ratgeber