Android基础-Fragment
Fragment面试详解
一、Fragment为什么被称为第五大组件?
1.Fragment为什么被称为第五大组件?
①有自己的生命周期
②动态的加载到Activity当中去
2.Fragment加载到Acitivty中的两种方式
1)添加Fragment到Activity的布局文件当中->静态
2)动态在activity中添加fragment(fragmentmanager)->动态
3.FragmentPagerAdapter与FragmentStatePagerAdapter区别
FragmentPagerAdapter->适用于页面较少
分析源码:最后一行调用detach()把fragment的UI和activity的UI分离开来,并不回收内存
FragmentStatePagerAdapte->适用于页面较多
分析源码:最后一行调用remove()移除fragment回收了内存,更节省内存
二、Fragment的生命周期
1.Fragment的生命周期
2.fragment从启动到销毁生命周期的全过程
三、Fragment通信
1.在Fragment中调用Activity中的方法getActivity
2.在Activity中调用Fragment中的方法:接口调用
3.在Fragment中调用Fragment中的方法findFragmentById
四、Fragment的replace、add、remove方法(Fragment管理器:FragmentManager)
replace:替换activity最上层的fragment实例替换(实际是fragmentmanager的方法)
add:fragment实例添加到activity最上层
remove:将fragment实例从activity的fragment队列中删除