Fragment生命周期

来源:互联网 发布:网络工程部经理招聘 编辑:程序博客网 时间:2024/06/05 07:39

       Fragment生命周期小常识

一、生命周期的作用。


onAttach():fragment已经关联到activity


onCreate() :系统创建fragment的时候回调他,在他里面实例化一些变量 

  这些个变量主要是:当你 暂停 停止的时候 你想保持的数据 

  如果我们要为fragment启动一个后台线程,可以考虑将代码放于此处。 

    参数是:Bundle savedInstance, 用于保存 Fragment 参数, Fragement 也可以

  重写 onSaveInstanceState(BundleoutState) 方法, 保存Fragement状态; 

  可以用于 文件保护 

  他只调用一次。


onCreateView() :关联XML布局,用于显示UI的

onActivityCreate() :Activity的onCreate生命周期执行完成之后调用这个方法,

   一般用于与Activity UI践行交互操作的


 onStart():和activity一致 启动, Fragement 启动时回调, 此时Fragement可见;

onResume():和activity一致  在activity中运行是可见的

           激活, Fragement 进入前台, 可获取焦点时激活;

onPause() : 和activity一致  其他的activity获得焦点,这个仍然可见

   第一次调用的时候,指的是 用户 离开这个fragment(并不是被销毁)

      通常用于 用户的提交

onStop() : 和activity一致

    fragment不可见的, 可能情况:activity被stopped了 OR  fragment被移除但被加入到回退栈中

    一个stopped的fragment仍然是活着的如果长时间不用也会被移除


onDestoryView() :Fragment中的布局被移除是调用,

表示fragment销毁相关联的ui布局

    清除所有跟视图有关的资源


onDestory() :销毁Fragment对象


onDetach :Fragment和activity解除关联时调用  脱离activity


二、应用场景:


切换到该Fragment:

onCreate

onCreateView

onActivityCreated

onStart

onResume


屏幕灭掉:

onPause

onSaveInstanceState

onStop


屏幕解锁:

onStart

onResume


切换到其他Fragment:

onPause

onStop

onDestroyView


切换回本身的Fragment:

onCreateView

onActivityCreated

onStart

onResume


回到桌面:

onPause

onSaveInstanceState

onStop


回到应用:

onStart

onResume


退出应用:

onPause

onStop

onDestroyView

onDestroy

onDetach


三、遇到的那些坑:


横竖屏切换:

1、切换成横屏时


2、切换成竖屏时,发现打印了两次相同的log

3、修改AndroidManifest.xml,把该Activity添加 Android:configChanges="orientation",横屏切换为竖屏


4、竖屏切换为横屏,发现不会再打印相同信息


5、把android:configChanges="orientation" 改成 android:configChanges="orientation|keyboardHidden",竖屏切换横屏,就只打印

 onConfigChanged

onConfigurationChanged-->



总结 :
1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次


2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次


3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行 onConfigurationChanged方法




赏:

原创粉丝点击