Что такое жизненный цикл фрагмента?

Фрагменты реализуют интерфейс 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() — фрагмент уничтожен

Поделиться уроком

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *