ViewModels
предназначены для хранения и управления отдельных Activity
данных, связанных с жизненным циклом
Вы не должны сохранять контекст, активность или вид приложенияобъекты в ViewModel
;потому что ViewModels
предназначены для хранения данных, связанных с этими вещами (контекст, представления ...), чтобы выжить эти данные, в то время как изменения конфигурации, такие как поворот экрана (поэтому ViewModels
не предназначены для выживания самих вещей (контекст,действия или представления), но данные, связанные с ними.
Общее правило: Одиночное ViewModel
предназначено для отдельного действия и связанных с ним фрагментов. Поэтому не имеет смысла начинать новое действие сViewModel
родительского действия.
Начало нового действия должно начинаться с текущего действия, а не с его ViewModel
, родительское действие будет соответственно остановлено, и, следовательно, к его ViewModel
нельзя получить доступ изновое занятие.
Пожалуйста, проверьте это обсуждение для получения дополнительной информации