Я использую FragmentActivity и Fragments.
При запуске приложения:
FragmentActivity onCreate() <------
FragmentActivity onStart()
FragmentActivity onResume()
Fragment onAttach()
Fragment onCreate() <------
Fragment onCreateView()
Fragment onActivityCreated()
Fragment onStart()
Fragment onResume()
Все в порядке, FragmentActivity onCreate() вызывается перед фрагментом onCreate(). И когда я вращаюсь:
Fragment onPause()
FragmentActivity onPause()
Fragment onStop()
FragmentActivity onStop()
Fragment onDestroyView()
Fragment onDestroy()
Fragment onDetach()
FragmentActivity onDestroy()
---
Fragment onAttach()
Fragment onCreate() <----------
FragmentActivity onCreate() <---------
Fragment onCreateView()
Fragment onActivityCreated()
Fragment onStart()
FragmentActivity onStart()
FragmentActivity onResume()
Fragment onResume()
Фрагмент onCreate() вызывается перед FragmentActivity onCreate(). Почему это противоречиво?
В FragmentActivity onCreate() Я генерирую некоторые данные, которые получает Fragment onCreate(). Из-за этого странного поведения мне пришлось переместить мой код из Fragment onCreate() в Fragment onCreateView(), чтобы быть уверенным, что мои данные были сгенерированы раньше.
Я использую FragmentStatePagerAdapter для хранения фрагментов, может быть, это и есть причина?