Что такое жизненный цикл фрагмента?
Фрагменты реализуют интерфейс 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() — фрагмент уничтожен
Учитесь как в игре
Обучающая платформа AndroidSprint
Уровни, XP, достижения и рейтинги. Увидите прогресс каждый день — мотивация не пропадает даже через месяцы обучения
- Геймификация: уровни, опыт, достижения — как в игре, но навыки реальные
- Карта навыков: визуальный прогресс по каждой технологии — видите, что освоили
- Рейтинги: сравнивайте себя с другими студентами — здоровая конкуренция