ViewModel
и onSaveInstanceState()
используются в разных ситуациях.onSaveInstanceState()
предназначен для сохранения небольшого количества данных, которые позволяют восстановить состояние UI в следующих случаях:• Остановка процесса приложения для восстановления ресурсов памяти;
• Изменение конфигурации.
Не следует использовать
onSaveInstanceState()
для сохранения больших массивов данных.ViewModel
переживает только изменение конфигурации, но уничтожается при остановке процесса. Это делает ViewModel
менее универсальным механизмом, чем onSaveInstanceState()
, но позволяет сохранять большие объекты во время изменения конфигурации и пересоздания активити.