Ответ
При изменении конфигурации (например, повороте экрана) Activity уничтожается и создается заново. Чтобы сохранить данные, используйте:
- onSaveInstanceState() – для временного хранения простых данных (Bundle)
override fun onSaveInstanceState(outState: Bundle) {
outState.putString("KEY", "value")
super.onSaveInstanceState(outState)
}
- ViewModel – сохраняет данные при изменениях конфигурации (рекомендуемый способ)
val viewModel: MyViewModel by viewModels()
- Сохраненные экземпляры (Retained Fragments) – устаревший способ, лучше использовать ViewModel
Для сложных данных (например, Bitmap) используйте ViewModel + репозиторий или сохраняйте в файлы/БД. Bundle подходит только для небольших примитивов (ограничение ~1MB).