Для сохранения состояния ViewModel, которое переживет уничтожение процесса, используется SavedStateHandle.
SavedStateHandle представляет собой Map-подобное хранилище, связанное с сохраненным состоянием Activity или Fragment.
Принцип работы:
ViewModel получает SavedStateHandle как параметр конструктора.SavedStateHandle с помощью метода set().SavedStateHandle ViewModel, который создастся заново.Пример использования:
kotlin
SavedStateHandle поддерживает сохранение примитивных типов, таких как Int, String, Boolean, а также parcelable и serializable объекты.
Важно понимать, что SavedStateHandle предназначен для сохранения небольшого количества UI-связанных данных. Для сохранения более сложных или больших объемов данных следует использовать другие механизмы, такие как Room Database или DataStore.