Fragment
的生命周期在高版本的话跟以前有点不太一样。大概是SDK28开始改版了。这里将其和Activity
一起记录如下进行对比; 程序运行版本SDK30
YM--Activity: onCreate-->super_before
YM--Activity: onCreate-->super_after
YM-Fragment>: onAttach()
YM-Fragment>: onCreate()
YM--Activity: onCreate-->setContentView_after
YM-Fragment>: onCreateView()
YM-Fragment>: onStart()
YM--Activity: onStart()
YM--Activity: onResume()
YM-Fragment>: onResume()
YM-Fragment>: onPause()
YM--Activity: onPause()
YM-Fragment>: onStop()
YM--Activity: onStop()
YM-Fragment>: onDestroyView()
YM-Fragment>: onDestroy()
YM-Fragment>: onDetach()
YM--Activity: onDestroy()
这里可以记住以下流程,大部分是先执行Fragment
的生命周期其次执行Activity
的生命周期。除了onResume()
函数,该函数是先触发Activity
、其次是Fragment
。其实也可以理解,毕竟Fragment
是依附在Activity
上面的,所以需要Activity
先接收到焦点,其次传递给Fragment