Найти тему

Фрагмент и его жизненный цикл.

Изначально фрагменты придумали когда-то давно (в android 3), потому что люди стали пользоваться планшетами и там приложения растягивались и выглядели не очень.

Что можем сказать о фрагментах:

  • У каждого фрагмента свой layout и свой жизненный цикл.
  • Мы можем удалять, добавлять и менять фрагменты внутри одной активити.
  • Один фрагмент можно использовать в нескольких активити.
  • Жизненный цикл фрагмента связан с жизненным циклом активити, к которой он присоединен. Например, если активити перешла в pause, то все фрагменты тоже это делают.
  • Фрагмент управляется с помощью fragmentManager и транзакций. Любое изменение (удаление, добавление и т.п.) — это как раз транзакция.

Методы жизненного цикла:

  1. onAttach() — метод, который вызывается первым. Тут мы понимаем, что фрагмент присоединен к активити.
  2. onCreate() —  тут фрагмент проинициализирован. Вызывается сразу же после onAttach.
  3. onCreateView() —  вызывается, когда пришло время отрисовывать интерфейс. Тут возвращаем view. Не стоит тут делать еще какие-либо операции.
  4. onViewCreated() — вью уже создана, так что тут можем проинициализировать всё, что нам нужно.
  5. onActivityCreated() — вызывается, когда активити завершает метод onCreate(). Активити теперь создана. 
  6. onStart() — фрагмент становится видимым. 
  7. onResume() — фрагмент видимый и юзер может взаимодействовать.
  8. onPause() — юзер не может взаимодействовать. Например, началась смена фрагмента или он удаляется.
  9. onStop() — фрагмент больше не видимый.
  10. onDestroyView() —  вызывается, когда вью и её ресурсы, созданные в onCreateView() удалены и уничтожены.
  11. onDestroy() —  Вызывается, когда фрагмент освобождает ресурсы и чистит всё.
  12. onDetach() —  Фрагмент отсоединен от активити. Конец. :)

Дубль статей в телеграмме — https://t.me/android_junior

Мой твиттер в телеграмме — https://t.me/android_junior_notes