Fragment切换时的生命周期

如果打开自动旋转,横屏和竖屏切换之后,Activity会销毁然后重新创建。

这样Fragment会重新创建,导致Fragment内容重叠。

 

解决方案:Activity 添加

android:configChanges="orientation|screenSize"

 Fragment生命周期图

 

a 通过Add hide show方式切换Fragment

Fragment第一次被显示调用Create,CreateView,Start,Resume等生命周期方法,以后简单的切换都不会再调用生命周期方法

只会调用onHiddenChange方法。

 

b 通过replace方法切换Fragment

被取代的Fragment调用Pause,Stop,DestroyView,Destroy等生命周期方法。

显示的Fragment调用Create,CreateView,Start,Resume等方法。

 

c 通过ViewPager的方式切换

无论创建或者切换,setUserVisibleHint总是先被调用,

不显示的Fragment可能会被pause, stop,destroyView,显示的时候走CreateView,start Resume等生命周期。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Fragment切换生命周期包括以下几个方法: 1. onAttach(): 当Fragment与Activity关联调用,可以通过该方法获取到关联的Activity对象。 2. onCreate(): 在Fragment被创建调用,可以在该方法中进行一些初始化操作。 3. onCreateView(): 创建Fragment的用户界面(UI),返回一个View对象供显示。 4. onViewCreated(): 在onCreateView()方法执行完毕后调用,可以在该方法中对UI进行进一步的初始化。 5. onActivityCreated(): 当Activity的onCreate方法执行完毕后调用,可以在该方法中进行与Activity交互的操作。 6. onStart(): Fragment可见调用,可以在该方法中执行一些启动相关的操作。 7. onResume(): Fragment可见且获取焦点调用,可以在该方法中执行一些与用户交互的操作。 8. onPause(): 当Fragment失去焦点调用,可以在该方法中保存用户数据或暂停正在执行的操作。 9. onStop(): 当Fragment不可见调用,可以在该方法中执行一些停止相关的操作。 10. onDestroyView(): 当Fragment的UI被移除调用,可以在该方法中释放相关资源。 11. onDestroy(): 在Fragment被销毁调用,可以在该方法中进行一些清理操作。 12. onDetach(): 当Fragment与Activity解除关联调用,可以在该方法中进行一些资源释放操作。 这些生命周期方法会根据Fragment的状态和可见性进行调用,开发者可以通过重写这些方法来实现对应的逻辑。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值