– Нет. ViewModel и onSaveInstanceState() используются в разных ситуациях.

onSaveInstanceState() предназначен для сохранения небольшого количества данных, которые позволяют восстановить состояние UI в следующих случаях:

• Остановка процесса приложения для восстановления ресурсов памяти;

• Изменение конфигурации.

Не следует использовать onSaveInstanceState() для сохранения больших массивов данных.

ViewModel переживает только изменение конфигурации, но уничтожается при остановке процесса. Это делает ViewModel менее универсальным механизмом, чем onSaveInstanceState(), но позволяет сохранять большие объекты во время изменения конфигурации и пересоздания активити.