Fragment 整个生命周期
时间 2014-05-21 17:09:53 CSDN博客原文 http://blog.csdn.net/linfeng24/article/details/26491407
Fragment 生命周期主要体现在以下表中 13 个方法里,以下是按照 Fragment 从开始到销毁的先后执行顺序排序。
序号
方法名称
描述
1
public void onInflate(Activity activity, AttributeSet attrs,Bundle savedInstanceState)
在 Act ivity.onCreate 方法之前调用,可以获取除了View 之外的资源
2
public void onAttach(Activity activity)
当 f ragment 第一次与 Activity 产生关联时就会调用,以后不再调用
3
public void onCreate(Bundle savedInstanceState)
在 on Attach 执行完后会立刻调用此方法,通常被用于读取保存的状态值,获取或者初始化一些数据,但是该方法不执行,窗口是不会显示的,因此如果获取的数据需要访问网络,最好新开线程。
4
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
作用:创建 Fra gment 中显示的 view, 其中 inflater用来装载布局文件, container 表示 <fragment> 标签的父标签对应的 ViewGroup 对象, savedInstanceState可以获取 Fragment 保存的状态
5
public void onViewCreated(View view, Bundle savedInstanceState)
继上面后就会调用此方法
6
public void onActivityCreated(Bundle savedInstanceState)
在 Acti vity.onCreate 方法调用后会立刻调用此方法,表示窗口已经初始化完毕,此时可以调用控件了
7
public void onStart()
开始执行与控件相关的逻辑代码,如按键点击
8
public void onResume()
这是 Fr agment 从创建到显示的最后一个回调的方法
9
public void onPause()
当发生界面跳转时,临时暂停,暂停时间是 500ms ,0.5s 后直接进入下面的 onStop 方法
10
public void onStop()
当该方法返回时, Fra gment 将从屏幕上消失
11
public void onDestroyView()
当 fragm ent 状态被保存,或者从回退栈弹出,该方法被调用
12
public void onDestroy()
当 Fra gment 不再被使用时,如按返回键,就会调用此方法
13
public void onDetach()
Fragment 生命周期的最后一个方法,执行完后将不再与 Activity 关联,将释放所有 fragment 对象和资源