Android面试集锦之Fragment(知识整理)

一、Fragment为什么被称为第五大组件
使用频率高,ui切换效果好,更节省内存,因为其有自己的生命周期,所以也算不到四大组件里取;fragment必须依附于activity存在。
二、Fragment加载到activity中的两个方式
静态加载,动态加载,(太基础了不说了)
三、FragmentPagerAdapter和FragmentStatePagerAdapter的区别
在实际的使用过程中Fragment常常和Adapter一起搭配使用;(前提)
两个adapter的区别在于,前者用于页面较少的情况下,后者用于页面较多的情况下;
原因呢,通过后者的源码可以看出:destroyItem方法中,最后一句是remove掉Fragment的,真正的释放了fragment内存;而前者的destroyItem方法中,最后一句是detach,这个并不是真正的释放内存的。
四、Fragment的生命周期
这里写图片描述
如图:
1.onAttach方法是用来创建fragment用的,不过此时activity还未创建成功
2.onCreateView是第一次绘制页面时调用,返回的必须是fragment的根视图
3.onActivityCreated是activity已经渲染成功后调用
五、Fragment之间的通信
1.在Fragment中调用Activity的getActivity
2.在Fragment增加接口在Activity中进行实现,接口回调
3.Fragment与Fragment之间的通信,用findFragmentById

猜你喜欢

转载自blog.csdn.net/qq_24820437/article/details/81914507