Когда пересоздается Activity

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

Ответ

При повороте экрана, изменении языка, конфигурации системы или принудительном завершении системой (из-за нехватки памяти). В этих случаях система вызывает onDestroy(), затем создает новый экземпляр и вызывает onCreate().

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

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

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    val restoredValue = savedInstanceState?.getString("KEY")
}

Для обработки изменений конфигурации можно использовать android:configChanges в манифесте, но это не рекомендуется для большинства сценариев.