Выбор ответа 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.
Варианты ответа
A.onPause→B.onCreate→B.onStart→B.onResume→A.onStopправильный ответA.onStop→B.onCreate→B.onStart→B.onResumeB.onCreate→B.onStart→B.onResume→A.onPause→A.onStopA.onPause→A.onStop→B.onCreate→B.onStart→B.onResume
Разбор
Сначала A теряет фокус (onPause), затем B полностью запускается до onResume, и только когда B закрыла экран, A получает onStop. Поэтому onPause должен быть быстрым: B не станет активной, пока он не завершится. Варианты, где A останавливается до создания B, неверны: A ещё видна, пока B создаётся.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Жизненный цикл Activity и Fragment»
- Колбэки Activity
- Состояния Lifecycle
- Что переживает поворот и смерть процесса
- Жизненный цикл фрагмента и его view
- Гарантирован ли onDestroy
- Почему onPause должен быть быстрым
- Когда вызывается onSaveInstanceState
- Порядок колбэков Activity от запуска до закрытия