android开发-Fragment生命周期

本文详细介绍了Fragment的概念及为何被称为第五大组件,探讨了Fragment与Activity的关系、生命周期,并解释了FragmentPagerAdapter与FragmentStatePagerAdapter的区别。此外,还提供了Fragment间通信的几种常见方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Fragment被称为第五大组件

(1)为什么叫第五大组件

Fragment有自己的生命周期,起初是被用来在大屏幕设备上 比如pad上做UI适配,一般与viewPager搭配使用

可以灵活的动态的加载到Activity

与Activity相比,更加节省内存

切换UI的效果更加舒适

使用频率上比较多 但是不属于其他的四大组件

(2)Fragment加载到Activity的方式

一、静态加载 这个就是在xml布局中直接加载

二、动态加载  通过add或者replace方法 添加进去  使用FragmentManager管理

(3)FragmentPagerAdapter与FragmentStatePagerAdapter的区别

FragmentPagerAdapter是用于页面较少的情况、FragmentStatePagerAdapter用于页面较多的情况。

因为FragmentStatePagerAdapter的源码中,在destoryItem的方法中,调用了      mCurtransction.remote(fragment)。真正的释放了内存

而FragmentPagerAdapter的destoryItem中 仅仅是用了mCurTransaction.detach 仅仅是分离了Fragment 但是并没有真正的释放回收

2、Fragment的生命周期以及与Activity相关的生命周期

Fra->onAttach
Fra->onCreate
Fra->onCreateView
Fra->onCreateViewed


Act->onCreate
Fra->onActivityCreateed

Act->onStart
Fra->onStart

Act->onResume
Fra->onResume

Fra->onPause

Act->onPause

Fra->onStop
Act->onStop

Fra->onDestoryView
Fra->onDestory
Fra->onDetach


Act->onDestory


从onResume之前几乎都是activity先执行(onCreate是Fragment先执行的),从onPause都是Fragment先执行

3、Fragment之间的通信

Fragment获取Activity 然后通过Activity代理 进行通信

事件总线进行通信

通过广播进行通信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值