Sobes.tech
Junior — Middle

Каква е ролята на viewModelScope в управлението на жизнения цикъл на корутините вътре във ViewModel?

sobes.tech AI

Отговор от AI

viewModelScope — това е CoroutineScope, свързан с жизнения цикъл на ViewModel в Android. Той автоматично отменя всички изпълнявани корутини, когато ViewModel бъде унищожен, което предотвратява течове на памет и изпълнение на ненужни задачи.

Например, ако стартирате асинхронна операция в viewModelScope, тя ще бъде отменена при унищожаване на ViewModel, например при завъртане на екрана или затваряне на Activity.

class MyViewModel : ViewModel() {
    fun loadData() {
        viewModelScope.launch {
            val data = repository.getData()
            // обновяване на UI
        }
    }
}

Това улеснява управлението на корутините и прави кода по-безопасен и по-ясен.