一、Fragment为什么被称为第五大组件##
1.1 Fragment为什么被称为第五大组件
在安卓当中有四大组件分别是 Activity 、 Service 、 content provider 、broadcast receiver,
在实际项目开发中Fragment实际应用还是很突出的,使用频率也高。
有些说法是吧VIew认为第五大组件,但是view是没有自己的生命周期的,这是和Fragment不同之处,有了生命周期Fragment就会像Activity一样灵活应用。
同时Fragment并不像Activity完全独立,相对于Activity更节省内存,UI的切换效果更佳的舒适,可以动态灵活的加载Activity,它虽然说有自己的生命周期,但是它必须依附于Activity,同时还要加载到Activity当中。
1.2 Fragment加载到Activity的两种方式
静态加载:把Fragment作为一个XML标签加入到布局当中,
动态加载:
使用的是Fragmentmanager来管理所有要启动的Fragment,利用FragmentTransaction来添加替换相对于的Fragment,利用容器资源来作为标志位,设置Fragment索要显示activity当中的位置,最后提交commit来完成整个步骤。
1.3 FragmentPagerAdapter 与 FragmentStatePagerAdapter区别
FragmentPagerAdapter:适用于页面较少的情况
也是调用的CurTransaction方法,只是把FragmentUI和ActivityUI 脱离开来,并没有回收内存。
FragmentStatePagerAdapter:适用于页面较多的情况
看最后一行,FragmentStatePagerAdapter是真正的释放了内存比FragmentPagerAdapter更节省内存。