Back to questions
Junior — Middle
70
Какие способы хранения и восстановления состояния системы тебе известны?
Answer from AI
sobes.tech AI
В Android для хранения и восстановления состояния системы (например, активити или фрагмента) используются следующие способы:
- onSaveInstanceState(Bundle outState) и onRestoreInstanceState(Bundle savedInstanceState) — позволяют сохранить небольшие данные (примитивы, Serializable, Parcelable) при пересоздании компонента, например, при повороте экрана.
- ViewModel — хранит данные, которые переживают пересоздание активити/фрагмента, но не сохраняются при уничтожении приложения.
- SharedPreferences — для сохранения простых настроек и данных между сессиями.
- Базы данных (Room, SQLite) — для долговременного хранения сложных данных.
- Файлы — для сохранения данных в файловой системе.
Пример сохранения состояния в Bundle:
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putString("key", "value")
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
val value = savedInstanceState.getString("key")
}