Какие методы жизненного цикла Fragment viewLifecycleOwner захватывает

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

Ответ

viewLifecycleOwner в Fragment охватывает жизненный цикл, связанный с View фрагмента. Он доступен только после onCreateView() и уничтожается перед onDestroyView(). Основные методы:

  • onCreate() (View не создана)
  • onStart() (View создана, но не видима)
  • onResume() (View видима)
  • onPause() (View теряет фокус)
  • onStop() (View невидима)
  • onDestroy() (View уничтожена)

Пример использования:

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    viewLifecycleOwner.lifecycle.addObserver(object : DefaultLifecycleObserver {
        override fun onResume(owner: LifecycleOwner) {
            // View видима
        }
    })
}

Важно: не используйте viewLifecycleOwner в onAttach() или onCreate() - там View ещё не создана.