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
|