Junior — Middle
Jakie są ograniczenia dotyczące używania wątków dla Dispatchers.Main w ramach Coroutines?
sobes.tech AI
Odpowiedź od AI
Dispatchers.Main w Kotlin Coroutines jest przeznaczony do uruchamiania korutyn na głównym (UI) wątku Androida.
Ograniczenia:
- Uruchamianie tylko na głównym wątku — nie używaj Dispatchers.Main do operacji w tle lub długotrwałych, aby nie blokować UI.
- Dostępność zależy od platformy — na Androidzie Dispatchers.Main działa z Looperem głównego wątku, w innych środowiskach może wymagać dodatkowej konfiguracji.
- Nie nadaje się do zadań intensywnych CPU lub IO — dla nich lepiej używać Dispatchers.IO lub Dispatchers.Default.
Przykład użycia:
CoroutineScope(Dispatchers.Main).launch {
// Aktualizacja UI
textView.text = "Ładowanie..."
val data = withContext(Dispatchers.IO) {
// Długa operacja
fetchData()
}
textView.text = data
}