Что такое жизненный цикл фрагмента?
Фрагменты реализуют интерфейс LifecycleOwner и, соответственно, у них можно получить объект Lifecycle. У Lifecycle есть всего 5 состояний: INITIALIZED, CREATED, STARTED, RESUMED, DESTROYED. То есть сам жизненный цикл фрагмента по сути точно такой же как и у активити, так как объект Lifecycle может иметь точно такие же состояния. Но в отличии от активити у фрагмента больше колбэк-методов. Если рассматривать жизненный цикл фрагмента вместе с колбэками, то получится как то так:
- CREATED (вызов onCreate())
onCreate() — фрагмент создан
onCreateView() — View создается
onViewCreated() — View была создана
onViewStateRestored() — состояние View было восстановлено
- STARTED (вызов onStart()) — фрагмент видим, но с ним нельзя взаимодействовать
- RESUME (вызов onResume()) — все анимации и тд отработали и с фрагментом можно взаимодействовать
- STARTED (вызов onPause()) — фрагмент видим, но с ним нельзя взаимодействовать
- CREATED (вызов onStop())
onStop() — фрагмент больше не видим
onSaveInstanceState() — используется для сохранения состояния фрагмента (например при configuration change)
onDestroyView() — View уничтожено
- DESTROYED
onDestroy() — фрагмент уничтожен
Бесплатные Telegram-боты для обучения
Практика с проверкой кода и помощью ИИ-ментора
AndroidSprint AI Mentor
Проверяет Pull Request'ы в GitHub, проводит тестовые собеседования с голосом и таймером, помогает разбираться с кодом 24/7
Попробовать ИИ-ментора →KotlinSprint Bot
22 урока Kotlin, 220 тестов, 120 практических задач с код-ревью
Начать обучение Kotlin →