Junior — Middle
Quais são as limitações no uso de threads para Dispatchers.Main no contexto das Coroutines?
sobes.tech IA
Resposta da IA
Dispatchers.Main no Kotlin Coroutines destina-se a iniciar coroutines na thread principal (UI) do Android.
Restrições:
- Execução apenas na thread principal — não usar Dispatchers.Main para operações de fundo ou prolongadas, para não bloquear a UI.
- A disponibilidade depende da plataforma — no Android, Dispatchers.Main funciona com o Looper da thread principal, em outros ambientes pode requerer configuração adicional.
- Não adequado para tarefas intensivas de CPU ou IO — para essas, é melhor usar Dispatchers.IO ou Dispatchers.Default.
Exemplo de uso:
CoroutineScope(Dispatchers.Main).launch {
// Atualizar UI
textView.text = "A carregar..."
val data = withContext(Dispatchers.IO) {
// Operação longa
fetchData()
}
textView.text = data
}