Sobes.tech
Junior — Middle

Koje su ograničenja u korišćenju niti za Dispatchers.Main u okviru Coroutines?

sobes.tech АИ

Одговор од АИ

Dispatchers.Main u Kotlin Coroutines je namenjen za pokretanje korutina na glavnom (UI) thread-u Android-a.

Ograničenja:

  • Pokretanje samo na glavnom thread-u — ne koristiti Dispatchers.Main za pozadinske ili duže operacije, kako ne bi blokirali UI.
  • Dostupnost zavisi od platforme — na Android-u, Dispatchers.Main radi sa Looper-om glavnog thread-a, u drugim okruženjima može zahtevati dodatnu konfiguraciju.
  • Ne prikladno za CPU- ili IO-intenzivne zadatke — za njih je bolje koristiti Dispatchers.IO ili Dispatchers.Default.

Primer upotrebe:

CoroutineScope(Dispatchers.Main).launch {
    // Ažuriranje UI
    textView.text = "Učitavanje..."
    val data = withContext(Dispatchers.IO) {
        // Duga operacija
        fetchData()
    }
    textView.text = data
}