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