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
}