Bootstrap

Activity与Fragment的生命周期

一、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,其他的所有方法如果你重写了,必须调用父类对于该方法的实现

;