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
}
}
}
Това улеснява управлението на корутините и прави кода по-безопасен и по-ясен.