Данные все еще могут быть потеряны, когда Android ОС решает убить процесс вашего приложения из-за ограничений памяти, а затем повторно создать его. Это отличается от изменений конфигурации.
ViewModel
успешно сохраняет ваши данные после изменения конфигурации (Activity
/ Fragment
Recreation), но это не очень поможет в случае Process Recreation.
Чтобы сохранить данные даже в случае восстановления процесса, вам нужно будет использовать onSaveInstanceState()
.
Последние обновления позволяют сохранять состояние экземпляра непосредственно в ViewModel
, которое сохранится в процессе отдых с использованием SavedStateHandle
, т.е. вам не нужно искать onSaveInstanceState
из Activity/Fragment
для сохранения данных, просто используйте SavedStateHandle
в своем ViewModel
, он будет действовать так же.
Пожалуйста, обратитесь к этим дополнительным ресурсам для большей ясности. ссылка1 ссылка2