Sobes.tech
Назад к вопросам
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 упрощает управление асинхронными задачами и обеспечивает безопасность с точки зрения жизненного цикла.