Выбор ответа Junior Жизненный цикл Activity и Fragment спрашивают часто обновлено

Порядок колбэков при переходе между Activity

Вопрос

Activity A запускает Activity B. В каком порядке вызываются колбэки?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: A.onPause → B.onCreate → B.onStart → B.onResume → A.onStop. Сначала A теряет фокус (onPause), затем B полностью запускается до onResume, и только когда B закрыла экран, A получает onStop.

Варианты ответа

  1. A.onPause → B.onCreate → B.onStart → B.onResume → A.onStopправильный ответ
  2. A.onStop → B.onCreate → B.onStart → B.onResume
  3. B.onCreate → B.onStart → B.onResume → A.onPause → A.onStop
  4. A.onPause → A.onStop → B.onCreate → B.onStart → B.onResume

Разбор

Сначала A теряет фокус (onPause), затем B полностью запускается до onResume, и только когда B закрыла экран, A получает onStop. Поэтому onPause должен быть быстрым: B не станет активной, пока он не завершится. Варианты, где A останавливается до создания B, неверны: A ещё видна, пока B создаётся.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.