Android——碎片的生命周期:实践

本文详细介绍了Android中Fragment的生命周期,从加载到屏幕、切换图片、按Back键的各种状态变化,包括onCreate(), onAttach(), onResume()等方法的执行顺序。特别提到在onSaveInstanceState()中保存数据以应对系统内存不足的情况,并解释了如何借助addToBackStack()方法避免fragment被销毁。
摘要由CSDN通过智能技术生成

        当碎片第一次被加载到屏幕上时,会依次执行onAttach(),onCreate(),onCreateView(),onActivityCreated(),onStart()和onResume()方法。

        当点击按钮切换到下一张图片时,第二张将第一张图片覆盖掉,此时用户看不到第一张图片,第一个碎片进入了停止状态。因此onPause(),onStop()和onDestroyView()方法会得到执行。当然如果在替换的时候没有调用addTobackStack()方法,此时第一个碎片就会进入销毁状态,onDestroy()和onDetach()方法就会得到执行。

        接着按下Back键,第一个图片就会重新回到屏幕,由于第一个碎片重新回到了运行状态,因此onCreateView(),onActivityCreated(),onSart()和onResume()方法会得到执行。注意此时onCreate()方法不会执行,因为我们借助了addToBackStack()方法使得第一个碎片并没有被销毁。

        再次按下Back键后,依次会执行onPause(),onStop(),onDestroyView()onDestroy()和onDetach()方法,最终将碎片销毁掉。

 

 

        另外值得一提的是,在碎片中你也是可以通过onSaveInstanceState()方法来保存数据的,因为进入停止状态的碎片有可能在系统内存不足的时候被回收。保存下来的数据在onCreate(),onCreateView()和onActivityCreated()这3个方法中都可以重新得到,他们都含有一个Bundle类型的savedInstanceState参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值