Назад к вопросам
Junior — Middle
73
Объясните принцип функционирования viewModelScope в архитектуре Android
Компании, где спрашивали
Radium Finance
Lime X
Ответ от нейросети
sobes.tech AI
viewModelScope — это CoroutineScope, связанный с жизненным циклом ViewModel в Android. Он позволяет запускать корутины, которые автоматически отменяются, когда ViewModel уничтожается, что предотвращает утечки памяти и выполнение ненужных задач после уничтожения UI-компонента.
Например, если вы загружаете данные из сети в ViewModel, используя viewModelScope.launch { ... }, то при уничтожении ViewModel все запущенные корутины будут отменены автоматически.
class MyViewModel : ViewModel() {
fun loadData() {
viewModelScope.launch {
val data = repository.getData()
// обновить UI через LiveData или StateFlow
}
}
}
Таким образом, viewModelScope упрощает управление асинхронными задачами и обеспечивает безопасность с точки зрения жизненного цикла.