Junior — Middle
¿Cómo garantizar que las operaciones se realicen de manera que no bloqueen la interfaz de usuario?
sobes.tech AI
Respuesta de la IA
Para que las operaciones no bloqueen la interfaz de usuario en Android, es necesario ejecutarlas en un hilo de fondo, no en el hilo principal (UI). Para ello, se puede usar:
- AsyncTask (obsoleto, pero todavía presente en código antiguo)
- HandlerThread o Handler
- ExecutorService
- Corutinas de Kotlin (método moderno y recomendado)
- RxJava
Por ejemplo, con corutinas se puede hacer así:
GlobalScope.launch(Dispatchers.Main) {
val result = withContext(Dispatchers.IO) {
// Operación larga, por ejemplo, una solicitud de red
fetchData()
}
// Actualización de la interfaz con el resultado
textView.text = result
}
De esta forma, el trabajo pesado se realiza en un hilo de fondo (IO), y la actualización de la interfaz se realiza en el hilo principal.