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

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

Ответ

При открытии диалога (например, AlertDialog) у Activity вызываются следующие методы жизненного цикла:

  1. onPause() - вызывается, когда диалог частично перекрывает Activity (но не на весь экран)
  2. onStop() - не вызывается, так как Activity остается видимой

Если диалог открыт на весь экран (например, DialogFragment с STYLE_NORMAL), то:

  1. onPause()
  2. onStop() - вызывается, так как Activity полностью скрыта

Пример кода для наблюдения:

override fun onPause() {
    super.onPause()
    Log.d("Lifecycle", "Activity paused - dialog shown")
}

Важно: диалог не вызывает onDestroy() у Activity.