Junior — Middle
Wat gebeurt er als je een netwerkverzoek uitvoert in de hoofdthread van het programma?
sobes.tech AI
Antwoord van AI
Als je een netwerkverzoek uitvoert in de hoofd (UI) thread van een Android-app, zal dit leiden tot het blokkeren van de gebruikersinterface totdat het verzoek is voltooid. Als gevolg hiervan reageert de app niet meer op gebruikersacties, wat een ANR (Application Not Responding) kan veroorzaken – een systeemwaarschuwing over vastlopen.
Daarom moeten netwerkbewerkingen in een achtergrondthread worden uitgevoerd, bijvoorbeeld met AsyncTask, Thread, Coroutine of bibliotheken zoals Retrofit met ondersteuning voor asynchroniteit.
Voorbeeld met Kotlin Coroutine:
GlobalScope.launch(Dispatchers.Main) {
val result = withContext(Dispatchers.IO) {
// netwerkverzoek
}
// UI bijwerken met het resultaat
}