Ответ
- Поворот экрана – система уничтожает и пересоздает Activity для применения новой конфигурации (ориентация, язык и т. д.).
- Нехватка памяти – система убивает фоновые Activity, чтобы освободить ресурсы.
- Явный вызов
finish()– разработчик сам завершает Activity. - Нажатие кнопки "Назад" – закрывает текущую Activity.
- Системные настройки – изменение масштаба шрифтов, DPI и т. д. может вызвать пересоздание.
- Режим многооконности – переключение в split-screen или PiP может уничтожить Activity.
Пример сохранения состояния:
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putString("key", "value")
}