Fragment生命周期

/ 0评 / 0

Fragment的生命周期

下面贴出官网上的关于Fragment的生命周期图。第一张为Fragment的生命周期转换图,第二张为Fragment的生命周期与Activity的生命周期的对比。

fragment1

fragment2

Fragment生命周期详解

onAttach()

作用:fragment关联到activity

这个是 回调函数

@Override

public void onAttach(Activity activity) {

    super.onAttach(activity);

}

参数为关联的Activity

onCreate()

作用:系统创建fragment的时候回调,可以在他里面实例化一些变量 这些个变量主要是:当你 暂停 停止的时候 你想保持的数据

@Override

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

}

onCreateView()

作用:返回Fragment的布局

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {

    return inflater.inflate(R.layout.fragment, container, false);

}

onActivityCreated()

作用:当Activity中的onCreate方法执行完后调用。

当执行onActivityCreated()的时候,activity的onCreate才刚完成。所以在onActivityCreated()调用之前 activity的onCreate可能还没有完成,所以不能在onCreateView()中进行与activity有交互的UI操作,UI交互操作可以在onActivityCreated()里面进行。这个方法主要是初始化那些你需要你的父Activity或者Fragment的UI已经被完整初始化才能初始化的元素。如果在onCreateView里面初始化空间会慢很多,比如listview等。

onStart()

和activity一致, Fragement启动时回调, 此时Fragement可见。

onResume()

和activity一致,Fragement 进入前台, 获得焦点时调用。

onPause()

和activity一致,当fragment被遮挡,但是未完全不可见时被调用。

onStop()

和activity一致,当fragment不可见的时候调用。

onDestroyView()

Fragment中的布局在onCreateView()中返回的view被移除时调用。只是移除,并没有销毁这个view。

onDestroy()

和activity一致,fragment对象被销毁时调用

onDetach()

Fragment和Activity解除关联的时候调用。

参考博客:wanghao200906

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注