fragment对Activity原生显示系统的影响和改进在哪些方面

77 阅读1分钟

Fragment 是我们用的比较多的一个组件,首先先来捋一捋它的生命周期。 onAttach()->onCreate()->onCreateView->onActivityCreated()->onStart()->onResum()->onPause()->onStop()->onDestroyView()->onDestroy()->onDetach().

//-----------------------------------------------------------------

 onAttach(): Activity和fragment建立联系时

onCreate():    fragment 创建时

onCraeteView():fragment 视图创建,加载布局时

onActivityCreated():Activity中的onCreate()调用之后

//-----------------以上fragment不可见-------------------------------

onStart(),onResume():fragment 可见,但是Activity还在后台处于不可见状态度

//-------------可数据存储,动画停止等操作,但不能做耗时任务-----------------

onPause(),onStop():fragment 不可见,被移动到fragment栈里,处于后台

onDestroyView():fragment被移除时调用

//--------------------------------------------------------------------------------

//+++++++++++回收资源++++++++++++

onDestroy():fragment即将被销毁

onDetach():Activity,fragment解除关联时调用

//++++++++++++++++++++++++++++

那么,fragment对Activity原生显示系统的影响有哪些呢?

第一:fragment可以代替Activity 做一些需要频繁切换的的窗口,从而提高显示的流畅性。

第二:fragment 更加小巧,使得交互性更强。

fragment对Activity原生显示系统的改进又有哪些?

第一:fragment是依赖于Activity存在的一个组件,它有自己的生命周期,但同时又被Activity来控制它的生命周期,而不是依赖系统调用,使得它更灵活的,管理视图更方便。

第二:fragment 能更好的适配,解决了多窗口切换带来的性能问题。

第三:fragment更加模块化,便于管理,并且可以很好地复用。