Почему у Fragment есть отдельные методы для создания UI onCreateView и onDestroyView

«Почему у Fragment есть отдельные методы для создания UI onCreateView и onDestroyView» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Фрагменты имеют более сложный жизненный цикл, чем Activity, и их view могут создаваться/уничтожаться независимо от самого фрагмента.

onCreateView() вызывается, когда фрагменту нужно создать свою view-иерархию. Здесь мы надуваем layout и возвращаем корневую view.

onDestroyView() вызывается, когда view фрагмента уничтожается, но сам фрагмент продолжает существовать. Это позволяет:

  • Экономить память, уничтожая view, когда они не нужны (например, в ViewPager)
  • Сохранять состояние фрагмента между пересозданиями view

Пример:

override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    return inflater.inflate(R.layout.fragment_example, container, false)
}

override fun onDestroyView() {
    super.onDestroyView()
    // Очищаем ссылки на view, чтобы избежать утечек памяти
    binding = null
}