Junior — Middle
Was passiert, wenn Sie eine Netzwerkanfrage im Hauptthread des Programms ausführen?
sobes.tech KI
Antwort von AI
Wenn eine Netzwerkanfrage im Haupt- (UI-)Thread einer Android-Anwendung ausgeführt wird, führt dies dazu, dass die Benutzeroberfläche bis zum Abschluss der Anfrage blockiert wird. Infolgedessen reagiert die Anwendung nicht mehr auf Benutzereingaben, was zu einem ANR (Application Not Responding) führen kann – einer systemweiten Warnung über das Einfrieren.
Daher sollten Netzwerkanfragen in einem Hintergrund-Thread ausgeführt werden, z.B. mit AsyncTask, Thread, Coroutine oder Bibliotheken wie Retrofit mit Unterstützung für Asynchronität.
Beispiel mit Kotlin Coroutine:
GlobalScope.launch(Dispatchers.Main) {
val result = withContext(Dispatchers.IO) {
// Netzwerkanfrage
}
// UI-Aktualisierung mit dem Ergebnis
}