Fragment 生命周期

https://www.jianshu.com/p/c8f34229b6dc
https://www.cnblogs.com/purediy/p/3276545.html

image.png

fragments的大部分状态都和 activity 很相似,但fragment有一些新的状态。

  • onAttached() —— 当fragment被加入到activity时调用(在这个方法中可以获得所在的activity)。
  • onCreateView() —— 当activity要得到fragment的layout时,调用此方法,fragment在其中创建自己的layout(界面)。
  • onActivityCreated() —— 当activity的onCreated()方法返回后调用此方法
  • onDestroyView() —— 当fragment中的视图被移除的时候,调用这个方法。
  • onDetach() —— 当fragment和activity分离的时候,调用这个方法。

1、通过 add hide show 方式来切换 Fragment
当以这种方式进行 Fragment 1 与 Fragment 2 的切换时,Fragment 隐藏的时候并不走 onDestroyView,所有的显示也不会走 onCreateView 方法,所有的 view 都会保存在内存。

2、使用 replace 的方法进行切换时
通过 replace 方法进行替换的时,Fragment 都是进行了销毁,重建的过程,相当于走了一整套的生命周期。

3、使用 ViewPager 进行切换时
ViewPager 会进行预加载;
但是切换的时候不会销毁,除非达到了 ViewPager 的缓存限制(可以通过setOffscreenPageLimit(int limit) 设置)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。