Back to questions
Junior — Middle
65
Можете объяснить этапы жизненного цикла компонента ViewModel в архитектуре приложения?
Companies where asked
EDJE
Answer from AI
sobes.tech AI
Жизненный цикл ViewModel в Android тесно связан с жизненным циклом компонента UI (Activity или Fragment), но сам ViewModel живёт дольше и сохраняется при пересоздании UI.
Основные этапы:
- Создание: ViewModel создаётся при первом обращении к нему из Activity или Fragment через ViewModelProvider.
- Использование: ViewModel хранит и управляет UI-данными, обрабатывает бизнес-логику, обеспечивает сохранность состояния при поворотах экрана.
- Очистка: Когда связанный UI-компонент окончательно уничтожается (например, Activity завершается), вызывается метод
onCleared()в ViewModel, где можно освободить ресурсы.
Пример создания ViewModel:
class MyViewModel : ViewModel() {
override fun onCleared() {
super.onCleared()
// Очистка ресурсов
}
}
// В Activity или Fragment
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
Таким образом, ViewModel помогает сохранять состояние и логику независимо от изменений UI.