В чем разница между методами onDestroyView и onDestroy у Fragment

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

Ответ

onDestroyView вызывается, когда UI фрагмента уничтожается, но сам фрагмент остается в памяти. Здесь следует освобождать ресурсы, связанные с View (например, отписываться от слушателей).

onDestroy вызывается перед окончательным уничтожением фрагмента. Здесь освобождаются все оставшиеся ресурсы.

Пример:

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

override fun onDestroy() {
    super.onDestroy()
    viewModel.clear() // Освобождаем ViewModel или другие ресурсы
}