天天看点

浅析Fragment的生命周期

什么是Fragment

Fragment是在Android3.0中引入,目的使用来解决不同屏幕分辨率上的UI显示与交互问题。

Fragment有自己的布局,生命周期和响应事件,但它必须依附Activity存在,当它依附的Activity生命周期结束,

它的生命周期也就随之结束。

Fragment的使用可以大大减少Activity的使用,给程序瘦身,使程序更加的易于维护,而且Fragment还可以

动态替换,在UI的变化上拥有巨大的优势。

Fragment的生命周期

上图:

浅析Fragment的生命周期

每个方法的调用时间和场景

onAttach()

      Fragment和Activity建立关联的时候调用(获得activity的传递的值) onCreateView()

      为Fragment创建视图(加载布局)时调用(给当前的fragment绘制UI布局,可以使用线程更新UI) onActivityCreated()

      当Activity中的onCreate方法执行完后调用(表示activity执行oncreate方法完成了的时候会调用此方法) onDestroyView()

      Fragment中的布局被移除时调用(表示fragment销毁相关联的UI布局) onDetach()

      Fragment和Activity解除关联的时候调用(脱离activity)

Fragment生命周期解读

  • 当一个Fragment被创建时依次调用

        onAttach()

        onCreate()

        onCreateView()

        onActivityCreated()

  • 当Fragment对用户可见时

        onStart()

        onResume()

  • 当Fragment不可见时

        onPause()

        onStop()

  • 当Fragment被销毁时

        onPause()

        onStop()

        onDestroyView()

        onDestroy()

        onDetach()

  • 像Activity一样,在以下的状态中,可以使用Bundle对象保存一个fragment的对象

        onCreate()

        onCreateView()

        onActivityCreated()

Fragment与Activity的生命周期对比

浅析Fragment的生命周期