Sobes.tech
Junior — Middle

Какво е мениджърът на задачи, използван във ViewModelScope при работа с корутини?

sobes.tech AI

Отговор от AI

Dispatcher в ViewModelScope контролира на кой нишка или пул от нишки се изпълняват корутините. В Android това е важно за разделяне на работата между главната нишка (UI) и фоновите нишки.

Например, Dispatchers.Main се използва за актуализиране на UI, а Dispatchers.IO за операции за вход/изход.

ViewModelScope автоматично отменя корутините при унищожаване на ViewModel, предотвратявайки течове на памет.

Пример за използване:

viewModelScope.launch(Dispatchers.IO) {
    val data = repository.loadData() // фонова операция
    withContext(Dispatchers.Main) {
        _liveData.value = data // актуализация на UI
    }
}