Сопоставление Middle ViewModel и сохранение состояния обновлено

Где живёт ViewModel

Вопрос

Сопоставь способ получения ViewModel и её область жизни.

Попробуйте сами

Нажмите слева, потом подходящее справа.

Показать ответ и разбор

Коротко

Область ViewModel определяет владелец ViewModelStore. Чем выше владелец, тем дольше живёт и тем больше экранов её делят.

Правильные пары

by viewModels() во фрагменте
пока жив этот фрагмент
by activityViewModels()
пока жива Activity, общая для её фрагментов
hiltViewModel() в Navigation Compose
пока запись экрана в back stack
navGraphViewModels(R.id.flow)
пока в back stack вложенный граф
ProfileViewModel() через конструктор
обычный объект, не переживает поворот

Разбор

Область ViewModel определяет владелец ViewModelStore. Чем выше владелец, тем дольше живёт и тем больше экранов её делят. Прямой конструктор обходит store вообще.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме