fragment是依附于Activity而存在的,fragment的生命周期总结:
首先,Activity底部有三个button分别是tab1,tab2,tab3,用来切换fragment1,fragment2,fragment3.默认是fragment1
启动Activity执行的生命周期是:
按执行顺序:
Activity: oncreate()
fragment1: onAttach()
onCreate()
onCreateView()
onActivityCreated()
Activity: onStart()
fragment1: onStart()
Activity: onResume()
fragment1: onResume()
点击tab2切换fragment1到fragment2(使用replace方法切换):
fragment1:onPause()
fragment1: onStop()
fragment1: onDestroyView()
fragment1: onDestroy()
fragment1: onDettach()
fragment2: onAttach()
fragment2: onCreate()
fragment2: onCreateView()
fragment2: onActivityCreated()
fragment2: onStart()
fragment2: onResume()
按返回键:
fragment2:onPause()
Activity: onPause()
fragment2: onStop()
Activity: onStop()
fragment2: onDestroyView()
fragment2: onDestroy()
fragment2: onDettach()
Activity: onDestroy()
在点击tab1切换fragment1到fragment2时,再replace之后执行fragmentTransaction.addToBackStack(null);把fragment1放入回收栈中,此时生命周期:
fragment1:onPause()
fragment1: onStop()
fragment1: onDestroyView()
fragment2: onAttach()
fragment2: onCreate()
fragment2: onCreateView()
fragment2: onActivityCreated()
fragment2: onStart()
fragment2: onResume()
按返回键:
fragment2: onPause()
fragment2: onStop()
fragment2: onDestroyView()
fragment2: onDestroy()
fragment2: onDettach()
fragment1: onCreateView()
fragment1: onActivityCreated()
fragment1: onStart()
fragment1: onResume()
如果初始化的时候把fragment1,和fragment2都add上,通过hide和show来实现切换的话启动的生命周期:
Activity: onCreate()
fragment1: onAttach()
fragment1: onCreate()
fragment1: onCreateView()
fragment1: onActivityCreate()
fragment2: onAttach()
fragment2: onCreate()
fragment2: onCreateView()
fragment2: onActivityCreated()
Activity: onStart()
fragment1: onStart()
fragment2: onStart()
Activity: onResume()
fragment1: onResume()
fragment2: onResume()
注:当使用hide和show进行切换是生命周期不在执行了。
按返回键:
fragment1:onPause()
fragment2: onPause()
Activity: onPause()
fragment1: onStop()
fragment2: onStop()
Activity: onStop()
fragment1: onDestroyView()
fragment1: onDestroy()
fragment1: onDettach()
fragment2: onDestroyView()
fragment2: onDestroy()
fragment2: onDettach()
Activity: onDestroy()
846

被折叠的 条评论
为什么被折叠?



