После прочтения этого у меня остались некоторые вопросы относительно ViewModels:
https://developer.android.com/topic/libraries/architecture/saving-states
Здесь говорится, что вы должны использовать комбинацию ViewModel
для изменений конфигурации (например, поворота экрана) и использования onSaveInstanceState()
для всех других случаев, когда действие уничтожается, а затем воссоздается, чтобы сохранить состояние пользовательского интерфейса.
Мой вопрос заключается в том, как мы узнаем способ восстановления состояния при вызове onCreate(Bundle)
- должен ли я использовать ViewModel или я должен использовать пакет, полученный в качестве параметра? При изменении конфигурации также вызывается onSaveInstanceState()
, и, очевидно, всегда вызывается onCreate()
.
Если я восстановлю состояние только из ViewModel, оно не всегда будет оставаться с правильными данными (поскольку активность могла быть уничтожена по другим причинам, кроме изменений конфигурации). Если я использую только пакет, который я сохраняю в onSaveInstanceState()
, то зачем мне начинать с ViewModel
?