ViewModel
переживает изменения конфигурации (смена ориентации, языка), сохраняя данные. Жизненный цикл ViewModel
связан с жизненным циклом Activity
или Fragment
, но переживает их пересоздание.
OnSavedInstanceState
является частью жизненного цикла Activity
или Fragment
. Он используется для сохранения небольшого объема данных перед уничтожением компонента (например, при нехватке памяти или изменении конфигурации). Данные сохраняются в Bundle
.
Основные отличия:
ViewModel
переживает изменения конфигурации, OnSavedInstanceState
— нет.ViewModel
предназначен для хранения данных, необходимых в течение всего жизненного цикла UI-контроллера. OnSavedInstanceState
— для сохранения небольшого состояния.ViewModel
хранится в специальном хранилище, предоставляемом Architecture Components. OnSavedInstanceState
сохраняет данные в Bundle
, который затем восстанавливается при создании UI-контроллера.ViewModel
предназначен для UI-логики и данных, переживающих изменения конфигурации. OnSavedInstanceState
— для сохранения пользовательского состояния на момент уничтожения компонента.| Критерий | ViewModel | OnSavedInstanceState | | :---------------- | :---------------------------------
ViewModel
переживает изменения конфигурации (смена ориентации, языка), сохраняя данные. Жизненный цикл ViewModel
связан с жизненным циклом Activity
или Fragment
, но переживает их пересоздание.
OnSavedInstanceState
является частью жизненного цикла Activity
или Fragment
. Он используется для сохранения небольшого объема данных перед уничтожением компонента (например, при нехватке памяти или изменении конфигурации). Данные сохраняются в Bundle
.
Основные отличия:
ViewModel
переживает изменения конфигурации, OnSavedInstanceState
— нет.ViewModel
предназначен для хранения данных, необходимых в течение всего жизненного цикла UI-контроллера. OnSavedInstanceState
— для сохранения небольшого состояния.ViewModel
хранится в специальном хранилище, предоставляемом Architecture Components. OnSavedInstanceState
сохраняет данные в Bundle
, который затем восстанавливается при создании UI-контроллера.ViewModel
предназначен для UI-логики и данных, переживающих изменения конфигурации. OnSavedInstanceState
— для сохранения пользовательского состояния на момент уничтожения компонента.| Критерий | ViewModel | OnSavedInstanceState | | :---------------- | :---------------------------------
Register or sign in to get access to full answers for all questions from the question bank.