Sobes.tech
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
}