Какие методы жизненного цикла Activity вызываются при повороте экрана

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

Ответ

При повороте экрана Activity уничтожается и создается заново, вызывая следующие методы:

  1. onPause() - приостановка Activity
  2. onStop() - остановка Activity
  3. onDestroy() - уничтожение Activity
  4. onCreate() - создание новой Activity
  5. onStart() - старт Activity
  6. onResume() - возобновление Activity

Чтобы сохранить состояние, используйте onSaveInstanceState() (вызывается между onStop() и onDestroy()) и восстанавливайте данные в onCreate() или onRestoreInstanceState().

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

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

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