Когда будет вызван метод onDestroyView из фрагмента, но он не будет уничтожен?

Глядя на жизненный цикл фрагмента, я не уверен в сценариях, которые могут произойти здесь. Существует два возможных способа, когда фрагмент перестает быть активным.

  1. Вызывать соответствующие обратные вызовы, уничтожать просмотр, а затем уничтожать фрагмент
  2. Вызвать обратные вызовы, уничтожить просмотр, но сохранить сам фрагмент

Какая из двух альтернатив проводится в ситуациях? Что решает, кто из них? Если фрагмент добавлен в стопку, затем удаляется / заменяется, почему бы не выбросить его? Зачем держать его?

Редактировать: меня осенило, может ли это быть зависеть от того, сохранился ли фрагмент или нет?

Введите описание изображения здесь

Кажется, все зависит от того, сохранился ли фрагмент или нет. Когда фрагмент сохраняется, то после onDestroyView появляется onCreateView.

Когда фрагмент сохраняется (т. Е. SetRetainInstance (true)), тогда журнал при вращении devicelooks выглядит так:

com.example.FragmentLifecycleTestApp W/MainFragment﹕ onAttach com.example.FragmentLifecycleTestApp W/MainFragment﹕ onCreate com.example.FragmentLifecycleTestApp W/MainFragment﹕ onCreateView com.example.FragmentLifecycleTestApp W/MainFragment﹕ onActivityCreated com.example.FragmentLifecycleTestApp W/MainFragment﹕ onStart com.example.FragmentLifecycleTestApp W/MainFragment﹕ onResume com.example.FragmentLifecycleTestApp W/MainFragment﹕ onPause com.example.FragmentLifecycleTestApp W/MainFragment﹕ onStop com.example.FragmentLifecycleTestApp W/MainFragment﹕ onDestroyView com.example.FragmentLifecycleTestApp W/MainFragment﹕ onDetach com.example.FragmentLifecycleTestApp W/MainFragment﹕ onAttach com.example.FragmentLifecycleTestApp W/MainFragment﹕ onCreateView com.example.FragmentLifecycleTestApp W/MainFragment﹕ onActivityCreated com.example.FragmentLifecycleTestApp W/MainFragment﹕ onStart com.example.FragmentLifecycleTestApp W/MainFragment﹕ onResume 

Но когда он не сохраняется, он звучит так:

 com.example.FragmentLifecycleTestApp W/MainFragment﹕ onAttach com.example.FragmentLifecycleTestApp W/MainFragment﹕ onCreate com.example.FragmentLifecycleTestApp W/MainFragment﹕ onCreateView com.example.FragmentLifecycleTestApp W/MainFragment﹕ onActivityCreated com.example.FragmentLifecycleTestApp W/MainFragment﹕ onStart com.example.FragmentLifecycleTestApp W/MainFragment﹕ onResume com.example.FragmentLifecycleTestApp W/MainFragment﹕ onPause com.example.FragmentLifecycleTestApp W/MainFragment﹕ onStop com.example.FragmentLifecycleTestApp W/MainFragment﹕ onDestroyView com.example.FragmentLifecycleTestApp W/MainFragment﹕ onDestroy com.example.FragmentLifecycleTestApp W/MainFragment﹕ onDetach com.example.FragmentLifecycleTestApp W/MainFragment﹕ onAttach com.example.FragmentLifecycleTestApp W/MainFragment﹕ onCreate com.example.FragmentLifecycleTestApp W/MainFragment﹕ onCreateView com.example.FragmentLifecycleTestApp W/MainFragment﹕ onActivityCreated com.example.FragmentLifecycleTestApp W/MainFragment﹕ onStart com.example.FragmentLifecycleTestApp W/MainFragment﹕ onResume