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
}
}