Back to questions
Junior — Middle
66
Что такое диспетчер задач, используемый в ViewModelScope при работе с корутинами?
Answer from AI
sobes.tech 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
}
}