Ответ
При смене конфигурации (поворот экрана, изменение языка, размера шрифта и т.д.) система уничтожает текущую 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 (сохраняется при смене конфигурации)
android:configChangesв манифесте (не рекомендуется)