Application not Responding

Aus Android Wiki
Version vom 25. Juni 2016, 15:55 Uhr von Md 42 (Diskussion | Beiträge) (Seite ganz neu angelegt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Application not Responding (Abkürzung: ANR) ist eine Fehlersituation, die eine Android-App verursachen kann. Diese Fehlersituation wird durch das Android-System festgestellt, wenn die App länger als eine bestimmte Anzahl an Sekunden (ca. 5 Sekunden) die Benutzeroberfläche blockiert. Dies geschieht meist dadurch, dass die App in der Event-Handler-Methode (Ereignisbehandlungs-Methode) eines GUI-Elements (z.B. Button) Programmcode ausführt, der mehrere Sekunden zur Abarbeitung benötigt (z.B. aufwändige Berechnung oder Internet-Zugriff). Solche Event-Handler-Methoden werden vom sog. Main-Thread ausgeführt, der u.a. für Aktualisierung der GUI sowie die Abarbeitung von GUI-Ereignisse zuständig ist. Da es nur einen Main-Thread gibt, blockiert die GUI, wenn der Main-Thread eine Event-Handler-Methode ausführt, die mehrere Sekunden zur Abarbeitung benötigt.[1]

Wenn das Android-System eine ANR-Situtation festgestellt hat, dann wird ein Dialog über die App gelegt, der den Nutzer darüber informiert, dass die App nicht reagiert. Dieser Dialog bietet dem Nutzer über zwei entsprechende Buttons an, die App entweder zu beenden oder nochmal einige Sekunden zu warten.[2] Auch wenn der Nutzer sich entscheiden kann, der App nochmal einige Sekunden Zeit zu geben, ist diese Fehlersitutation durch entsprechende Programmierung der App zu vermeiden.


Einzelnachweise

  1. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  2. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.