Junior — Middle
Czym jest menedżer zadań używany w ViewModelScope podczas pracy z korutynami?
sobes.tech AI
Odpowiedź od AI
Dispatcher w ViewModelScope kontroluje, na którym wątku lub puli wątków wykonywane są korutyny. W Androidzie jest to ważne dla rozdzielenia pracy między głównym wątkiem (UI) a wątkami tła.
Na przykład, Dispatchers.Main jest używany do aktualizacji UI, a Dispatchers.IO do operacji wejścia/wyjścia.
ViewModelScope automatycznie anuluje korutyny przy niszczeniu ViewModel, zapobiegając wyciekom pamięci.
Przykład użycia:
viewModelScope.launch(Dispatchers.IO) {
val data = repository.loadData() // operacja w tle
withContext(Dispatchers.Main) {
_liveData.value = data // aktualizacja UI
}
}