Fragment面试详解

作者: 千涯秋瑟 | 来源:发表于2017-11-28 12:15 被阅读0次

    一、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。

    相关文章

      网友评论

        本文标题:Fragment面试详解

        本文链接:https://www.haomeiwen.com/subject/zzvtbxtx.html