1.创建Fragment
在Activity执行完onCreate方法后,系统会创建与之关联并加载的Fragment。此时调用过程和功能如下
onAttach():创建Activity和Fragment的关联,只会在activity第一次关联fragment的时候调用
onCreate():实现初始化相关组件的操作
onCreateView():为当前的Fragment绘制UI布局(组件初始完了,肯定还要有相应的容器)
onActivityCreated():此方法代表与fragment关联的Activity的onCreate方法已经初始化完毕(如控件id的绑定),在此可以进行与Activity的ui交互,如果Activity的onCreate方法没有初始化完成,就提前进行ui交互,就可能会有空指针异常。
onStart():作用同Activity一样,让fragment由不可见变成可见状态
onResume():作用同Activity一样,让fragment变成活动状态,用户可以与之交互
2.暂停和停止
onPause():用户不能与之交互,但是仍能看见,即使被部分遮挡
onStop():fragment完全不可见
onDestroyView():销毁Fragment相关视图,但没有销毁Fragment,依然可以通过onCreateView方法重新创建视图。通常在ViewPage+Fragment方式下调用
onDestroy():销毁Fragment
onDetach():解除与Activity的绑定,在onDestroy后面调用
以下Activity状态和Fragmnt生命周期方法的调用情况
可以看出在创建和销毁阶段Activity和Fragment不相同,其他基本一致,就创建阶段来说,因为Fragment必须依赖Activity,所以需要onAttach来进行关联,那么关联后,就有可能会有activity和fragment的交互,所以有一个onActivityCreated方法