一、Activity与Fragment独立与两者相关联的生命周期
不多说,先上图——左Activity 右Fragment
1.1二者生命周期关系概要
由上图可知Activity相当于画板,而Fragment是画布,画布是依附于画板上的;
先产生画板,才能产生画布;
先销毁画布,才能销毁掉画板。
1.2 二者具体联系与区别
1.2.1 创建
Activity先onCreated(),在这时Fragment再执行 onAttach()->onCreate()->onCreate()
->onCreateView()->onActivityCreated()
1.2.2 销毁
Fragment先完成onDestroyView()->onDesstroy()->onDetach(), 最后Activity 再Destroy()
1.3 Activity生命周期
1.3.1 Activity生成
onCreate() ——> onStart() ——> onResume()
1.3.2 Activity切换与恢复
onPause() ——> onStop() ——>onRestart() ——>onStart()——>onResume()
1.3.3 Activity出栈
onStop() ——> onDestroy()
———————————————————————————————————————————
1.4 Fragment生命周期
1.4.1 Fragment恢复
onDestroyView()->onCreateView()->onActivityCreated()->onStart()
->onResume()
1.4.2 onAttach含义
onAttach(Activity) 当Fragment与Activity发生关联的时候调用
1.4.3 onActivityCreated()含义
onActivityCreated(Bundle) 当Activity的onCreated方法返回时调用(其实就是告知系统Activity创建完了【此处加个狗头】)
1.4.4 onDestroyView()含义
onDestroyView() 与onCreateView方法相对应,当该Fragment的视图被移除时调用
1.4.5 onDetach()含义
onDetach() 与onAttach方法相对应,当Fragment与Activity取消关联时调用
1.4.6 注意
除了onCreateView,其他的所有方法如果你重写了,必须调用父类对于该方法的实现