Ответ
При изменении конфигурации (поворот, изменение языка и т.д.) Activity уничтожается и создается заново. Вызываются:
onPause()onStop()onDestroy()onCreate()onStart()onResume()
Чтобы сохранить состояние, используйте:
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putString("KEY", "value")
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val value = savedInstanceState?.getString("KEY")
}
Для полного сохранения сложных данных используйте ViewModel + SavedStateHandle или onRetainNonConfigurationInstance(). Чтобы избежать пересоздания, укажите configChanges в манифесте, но это не рекомендуется для большинства случаев.