Fragment面试详解

一、Fragment为什么被称为第五大组件

1、Fragment为什么被称为第五大组件

2、Fragment 加载到Activity的两种方式

静态加载、动态加载。

3、FragmentPageAdapter与FragmentStatePageAdapter区别

使用FragmentPagerAdapter 时,Fragment对象会一直存留在内存中,所以当有大量的显示页时,就不适合用FragmentPagerAdapter了,FragmentPagerAdapter 适用于只有少数的page情况,像选项卡。释放的时候使用detach


这个时候你可以考虑使用FragmentStatePagerAdapter ,当使用FragmentStatePagerAdapter 时,如果Fragment不显示,那么Fragment对象会被销毁,(滑过后会保存当前界面,以及下一个界面和上一个界面(如果有),最多保存3个,其他会被销毁掉)

但在回调onDestroy()方法之前会回调onSaveInstanceState(Bundle outState)方法来保存Fragment的状态,下次Fragment显示时通过onCreate(Bundle savedInstanceState)把存储的状态值取出来,FragmentStatePagerAdapter 比较适合页面比较多的情况,像一个页面的ListView 。


二、Fragment生命周期

1、Activity与fragment生命周期

三、Fragment 通信


三、Fragment 的replace、add、remove方法

replace

第一次加载时的生命周期:onAttach-onCreate-onCreateView-onViewCreate-onActivityCreate-onStart-onResume;

销毁的时候:onPause-onStop-onDestroyView

再次加载 到时候:onCreateView-onViewCreate-onActivityCreate-onStart-onResume。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、Fragment为什么被称为第五大组件 在日常开发中Fragment使用频率很高,Fragment不属于其他四...
    程序猿BOSS阅读 456评论 0 0
  • 一.Fragment为什么被称为第五大组件 1.Fragment为什么被称为第五大组件 3.0大屏幕更灵活展示UI...
    xiaolong20阅读 593评论 0 0
  • 引言:这篇文章,大概分析下Fragment的生命周期、实际应用方法以及使用Fragment时需要注意的地方,算是F...
    androidjp阅读 13,005评论 10 104
  • 没有星星和月的夜 寂静笼罩着群山 我的心像飞鸟一样 落在一处安静的地方 淅淅沥沥的小雨 敲打着窗外的相思夜 期盼一...
    素骊阅读 218评论 0 2
  • 今天突然想起红楼梦。 果然曹雪芹花费十年心血写成的作品能量级别还是很高的。我一想起来里头的种种人物和他们的生活,觉...
    1d02bd8140cc阅读 611评论 0 1