Junior — Middle
Care sunt limitările în utilizarea firelor pentru Dispatchers.Main în cadrul coroutines?
sobes.tech AI
Răspuns de la AI
Dispatchers.Main în Kotlin Coroutines este destinat pentru a porni corutine pe thread-ul principal (UI) al Android.
Restricții:
- Executare doar pe thread-ul principal — nu folosi Dispatchers.Main pentru operații de fundal sau de durată lungă, pentru a nu bloca UI.
- Disponibilitatea depinde de platformă — pe Android, Dispatchers.Main funcționează cu Looper-ul thread-ului principal, în alte medii poate necesita configurare suplimentară.
- Nu este potrivit pentru sarcini intensive CPU sau IO — pentru acestea, este mai bine să folosești Dispatchers.IO sau Dispatchers.Default.
Exemplu de utilizare:
CoroutineScope(Dispatchers.Main).launch {
// Actualizare UI
textView.text = "Se încarcă..."
val data = withContext(Dispatchers.IO) {
// Operație lungă
fetchData()
}
textView.text = data
}