Junior — Middle
Que se passe-t-il si vous effectuez une requête réseau dans le thread principal du programme?
sobes.tech IA
Réponse de l'IA
Si vous effectuez une requête réseau dans le thread principal (UI) d'une application Android, cela entraînera le blocage de l'interface utilisateur jusqu'à la fin de la requête. En conséquence, l'application ne répondra plus aux actions de l'utilisateur, ce qui peut provoquer un ANR (Application Not Responding), une alerte système concernant un gel.
Par conséquent, les opérations réseau doivent être effectuées dans un thread en arrière-plan, par exemple en utilisant AsyncTask, Thread, Coroutine ou des bibliothèques comme Retrofit avec support de l'asynchronie.
Exemple avec Kotlin Coroutine:
GlobalScope.launch(Dispatchers.Main) {
val result = withContext(Dispatchers.IO) {
// requête réseau
}
// mise à jour de l'UI avec le résultat
}