Какие знаешь причины уничтожения Activity

«Какие знаешь причины уничтожения Activity» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

  1. Поворот экрана – система уничтожает и пересоздает Activity для применения новой конфигурации (ориентация, язык и т. д.).
  2. Нехватка памяти – система убивает фоновые Activity, чтобы освободить ресурсы.
  3. Явный вызов finish() – разработчик сам завершает Activity.
  4. Нажатие кнопки "Назад" – закрывает текущую Activity.
  5. Системные настройки – изменение масштаба шрифтов, DPI и т. д. может вызвать пересоздание.
  6. Режим многооконности – переключение в split-screen или PiP может уничтожить Activity.

Пример сохранения состояния:

override fun onSaveInstanceState(outState: Bundle) {
    super.onSaveInstanceState(outState)
    outState.putString("key", "value")
}