Android基础-Fragment

Fragment面试详解

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

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

 Android基础-Fragment

①有自己的生命周期

②动态的加载到Activity当中去

 

2.Fragment加载到Acitivty中的两种方式

1)添加FragmentActivity的布局文件当中->静态

2)动态在activity中添加fragment(fragmentmanager)->动态

 

3.FragmentPagerAdapterFragmentStatePagerAdapter区别

 

FragmentPagerAdapter->适用于页面较少

 Android基础-Fragment

分析源码:最后一行调用detach()fragmentUIactivityUI分离开来,并不回收内存

 

FragmentStatePagerAdapte->适用于页面较多

 Android基础-Fragment

分析源码:最后一行调用remove()移除fragment回收了内存,更节省内存

 

二、Fragment的生命周期

1.Fragment的生命周期

 Android基础-Fragment


2.fragment从启动到销毁生命周期的全过程

 

 Android基础-Fragment

 

三、Fragment通信

1.Fragment中调用Activity中的方法getActivity

2.Activity中调用Fragment中的方法:接口调用

3.Fragment中调用Fragment中的方法findFragmentById

 

四、Fragmentreplaceaddremove方法(Fragment管理器:FragmentManager

replace:替换activity最上层的fragment实例替换(实际是fragmentmanager的方法)

add:fragment实例添加到activity最上层

remove:fragment实例从activityfragment队列中删除