Junior — Middle
Explica principiul de funcționare al viewModelScope în arhitectura Android
sobes.tech AI
Răspuns de la 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 упрощает управление асинхронными задачами и обеспечивает безопасность с точки зрения жизненного цикла.