Назад к вопросам
Junior — Middle
66
Как осуществляется сохранение данных внутри ViewModel в Android-приложениях?
Ответ от нейросети
sobes.tech AI
В Android ViewModel сохраняет данные, которые должны пережить изменения конфигурации (например, поворот экрана). Для этого ViewModel хранит состояние в своих полях, и при пересоздании Activity или Fragment данные остаются доступными.
Если нужно сохранить данные при полном уничтожении приложения, используют SavedStateHandle — специальный объект, позволяющий сохранять и восстанавливать состояние.
Пример использования ViewModel с SavedStateHandle:
class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
var userName: String?
get() = state["userName"]
set(value) {
state["userName"] = value
}
}
Таким образом, данные внутри ViewModel сохраняются в памяти, а при необходимости — в SavedStateHandle для восстановления после уничтожения процесса.