Sobes.tech
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")
}