Fragment知识点

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

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

  Fragment跟其余的4个组件一样,具有自己的生命周期。在android3.0的引入,起初是为了给大

 屏幕设备更灵活展现UI

所用到的。之后呢大家更偏向于Fragment的UI开发是由于Fragment比Activity更加节省内存,同时

UI的切换效果更加舒适。

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

  静态加载:就是在布局中写入。

 动态加载:

    主要是通过FragmentManager获取FragmentTransaction对象来管理Fragment的

3、FragmentPagerAdapter与FragmentStatePagerAdapter的区别

 主要的区别是FragmentPagerAdapter适用于Fragment较少的时候,FragmentStatePagerAdapter适

用于页面比较多的时候。

在FragmentStatePagerAdapter的destroyItem()方法中的remove()可以看到是真正的释放了Fragment内存,

所以所大量Fragment的情况下FragmentStateAdapter比FragmentPagerAdapter更加节省内存。


在FragmentPagerAdapter中的destroyItem()方法中的detach()方法是只是把FragmentUI跟ActivityUI脱离,

并没有真正的去释放Fragment的内存。

2、Fragment的生命周期?

 

 Activity与Fragment结合的生命周期图

 onAttach:是Fragment与Activity建立关联有所回调的。

onCreate:在初次创建Fragment的时候调用的。

onCreateView:是系统在Fragment获取用户界面的时候调用的,绘制UI

onCreated:Fragment表明Fragment UI界面完全绘制好了。

onActivityCreated:是在Activity被绘制渲染成功后调用的方法。

onResume:Fragment可以跟用户进行交互了。初始化完全完成。

onPause:Fragment不能跟用户进行交互了。

onDestoryView: 跟Fragment的onCreateView相对应,会被保存

onDeach:Fragment不再被使用

3、Fragment之间的通信

 1、在Fragment中调用Activity中的方法getActivity

2、在Activity中调用Fragment的方法接口回调

3、在Fragment中调用Fragment中的方法findFragmentByid

4、Fragment的replace、add、remove方法

 replace:是FragmentManager的方法、是替换Fragment实例而不是将Fragment实例加到最上层

add:将Fragment实例添加到activity的最上层

remove:将Fragment实例从activity的Fragment队列中删除


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值