Ответ
При смене конфигурации (например, повороте экрана) активити уничтожается и создается заново. По умолчанию все данные теряются.
Способы сохранения состояния:
- onSaveInstanceState() - для временных данных (Bundle)
override fun onSaveInstanceState(outState: Bundle) {
outState.putString("KEY", "value")
super.onSaveInstanceState(outState)
}
- ViewModel - сохраняет данные при повороте
- Сохраненные состояния (SavedStateHandle) в ViewModel
- Персистентное хранилище (Room, SharedPrefs) - для критичных данных
Для View можно использовать:
android:saveEnabled="true"
android:id="@+id/viewId"
чтобы автоматически сохранять состояние.