Ответ
В Android есть несколько способов сохранения состояния:
- onSaveInstanceState() – для временного сохранения при повороте экрана или убийстве процесса. Восстанавливается в onCreate() или onRestoreInstanceState().
override fun onSaveInstanceState(outState: Bundle) {
outState.putString("KEY", "value")
super.onSaveInstanceState(outState)
}
-
ViewModel – сохраняет данные при смене конфигурации (через ViewModelProvider).
-
SharedPreferences – для простых данных (настройки, флаги).
val prefs = getSharedPreferences("prefs", MODE_PRIVATE)
prefs.edit().putString("KEY", "value").apply()
-
База данных (Room) – для сложных структур данных.
-
Файлы – внутреннее/внешнее хранилище для больших данных.
-
DataStore – современная замена SharedPreferences с корутинами.
Для критически важных данных лучше использовать комбинацию ViewModel + постоянное хранилище (Room/DataStore).