Назад к вопросам
Junior — Middle
77
Какими методами ты можешь реализовать сохранение состояния ViewModel в приложении?
Ответ от нейросети
sobes.tech AI
Для сохранения состояния ViewModel в Android-приложении можно использовать несколько подходов:
- SavedStateHandle — встроенный механизм, позволяющий сохранять и восстанавливать состояние ViewModel при пересоздании (например, при повороте экрана). Он работает как ключ-значение и интегрируется с жизненным циклом.
class MyViewModel(savedStateHandle: SavedStateHandle) : ViewModel() {
var count: Int
get() = savedStateHandle.get<Int>("count") ?: 0
set(value) = savedStateHandle.set("count", value)
}
-
onSaveInstanceState() и Bundle — можно сохранять состояние в Bundle в Activity или Fragment, а затем передавать данные в ViewModel.
-
Использование локального хранилища (SharedPreferences, база данных) — для более долговременного сохранения состояния.
-
Сериализация состояния в файл или базу — если состояние сложное и должно сохраняться между сессиями.
Чаще всего для временного сохранения состояния ViewModel при конфигурационных изменениях используют SavedStateHandle.