Ответ
Фрагменты имеют более сложный жизненный цикл, чем 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
}