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更加模块化,便于管理,并且可以很好地复用。