Ответ
При повороте экрана Activity уничтожается и создается заново (onDestroy() → onCreate()). Чтобы сохранить состояние, используйте:
onSaveInstanceState()- для временных данных (Bundle)
override fun onSaveInstanceState(outState: Bundle) {
outState.putString("KEY", "value")
super.onSaveInstanceState(outState)
}
ViewModel- для бизнес-логики (переживает поворот)android:configChangesв манифесте (не рекомендуется) - если обрабатывать поворот вручную черезonConfigurationChanged()
Лучшие практики:
- Хранить данные в ViewModel
- Восстанавливать UI состояние через SavedStateHandle в ViewModel
- Для фрагментов использовать setRetainInstance(true) (устарело в favor ViewModel)