Какие знаешь способы сохранения состояния в Android

«Какие знаешь способы сохранения состояния в Android» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Android есть несколько способов сохранения состояния:

  1. onSaveInstanceState() – для временного сохранения при повороте экрана или убийстве процесса. Восстанавливается в onCreate() или onRestoreInstanceState().
override fun onSaveInstanceState(outState: Bundle) {
    outState.putString("KEY", "value")
    super.onSaveInstanceState(outState)
}
  1. ViewModel – сохраняет данные при смене конфигурации (через ViewModelProvider).

  2. SharedPreferences – для простых данных (настройки, флаги).

val prefs = getSharedPreferences("prefs", MODE_PRIVATE)
prefs.edit().putString("KEY", "value").apply()
  1. База данных (Room) – для сложных структур данных.

  2. Файлы – внутреннее/внешнее хранилище для больших данных.

  3. DataStore – современная замена SharedPreferences с корутинами.

Для критически важных данных лучше использовать комбинацию ViewModel + постоянное хранилище (Room/DataStore).