Zum Inhalt springen

Application not Responding: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Md 42 (Diskussion | Beiträge)
K Bindestrich eingefügt
Zeile 5: Zeile 5:
Eine solche Fehlersitaution entsteht 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 I/O-Zugriff, besonders beim ''Internet''-Zugriff). Solche Event-Handler-Methoden werden vom sog. Main-Thread ausgeführt, der u.a. auch für die Aktualisierung der GUI sowie die Abarbeitung von GUI-Ereignissen 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.<ref>{{Cite web | url = https://developer.android.com/training/articles/perf-anr.html| title = Keeping Your App Responsive | accessdate = 2016-06-25 | publisher = developer.android.com (Offifizielle Entwickler-Dokumentation für Android | language = en }}</ref>
Eine solche Fehlersitaution entsteht 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 I/O-Zugriff, besonders beim ''Internet''-Zugriff). Solche Event-Handler-Methoden werden vom sog. Main-Thread ausgeführt, der u.a. auch für die Aktualisierung der GUI sowie die Abarbeitung von GUI-Ereignissen 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.<ref>{{Cite web | url = https://developer.android.com/training/articles/perf-anr.html| title = Keeping Your App Responsive | accessdate = 2016-06-25 | publisher = developer.android.com (Offifizielle Entwickler-Dokumentation für Android | language = en }}</ref>


Android überwacht das Reaktionsverhalten durch die System-Dienste ''Activity Manager'' und ''Window Manager''. Ein ANR Dialog wird angezeigt, wenn eine der folgenden Bedingungen erfüllt ist:
Android überwacht das Reaktionsverhalten durch die System-Dienste ''Activity Manager'' und ''Window Manager''. Ein ANR-Dialog wird angezeigt, wenn eine der folgenden Bedingungen erfüllt ist:
* keine Reaktion zu einem Eingabe-Ereignis (zum Beispiel das Drücken einer Taste oder ein Touchscreen-Ereignis) innerhalb von 5 Sekunden
* keine Reaktion zu einem Eingabe-Ereignis (zum Beispiel das Drücken einer Taste oder ein Touchscreen-Ereignis) innerhalb von 5 Sekunden
* ein <code>[https://developer.android.com/reference/android/content/BroadcastReceiver.html BroadcastReceiver]</code> wurde nicht innerhalb von 10 Sekunden beendet
* ein <code>[https://developer.android.com/reference/android/content/BroadcastReceiver.html BroadcastReceiver]</code> wurde nicht innerhalb von 10 Sekunden beendet
Cookies helfen uns bei der Bereitstellung von Android Wiki. Durch die Nutzung von Android Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.