Выбор ответа Middle Жизненный цикл Activity и Fragment обновлено
Гарантирован ли onDestroy
Вопрос
Можно ли полагаться на onDestroy для сохранения важных данных пользователя?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Нет: если система убьёт процесс в фоне, onDestroy не вызовется. При нехватке памяти система убивает процесс целиком, никакие колбэки при этом не вызываются.
Варианты ответа
- Да: система вызывает его перед завершением процесса в любом случае
- Да, если Activity в момент закрытия не находится в фоне
- Нет:
onDestroyвызывается только при повороте экрана - Нет: если система убьёт процесс в фоне,
onDestroyне вызоветсяправильный ответ
Разбор
При нехватке памяти система убивает процесс целиком, никакие колбэки при этом не вызываются. Последний надёжный момент это onStop (и onSaveInstanceState для состояния UI). onDestroy вызывается при finish(), закрытии назад и пересоздании при смене конфигурации, но не при убийстве процесса.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Жизненный цикл фрагмента и его view
Следующий вопрос
Почему onPause должен быть быстрым
Ещё по теме «Жизненный цикл Activity и Fragment»
- Порядок колбэков при переходе между Activity
- TransactionTooLargeException и Bundle
- Колбэки Activity
- Состояния Lifecycle
- Что переживает поворот и смерть процесса
- Когда вызывается onSaveInstanceState
- Порядок колбэков Activity от запуска до закрытия
- Жизненный цикл фрагмента