美文网首页
Fragment总结

Fragment总结

作者: 我是小矿工 | 来源:发表于2019-03-20 13:39 被阅读0次

Fragment的什么周期

1.onAttach ->onCreate->onCreateView-onActivityCreated ->onStart->onResume->onPause->onStop->onDestoryView->onDestory->onDetach
2.onAttach 在fragment和activityt关联之后调用
3.onCreate 在fragment第一次创建的时候调用,这个时候ac还没创建完成 ,所以不能获取当前ac的一些资源
onCreateView是在构造视图时调用,这个时候 ac也没创建完成
4.onActivityCreated ac调用onCreate之后调用,可以用ac的一些资源了
5.onStart onResume onStop onPause 同ac一样
6.onDestoryView fragment即将被结束活保存的时候调用
7.onDestory 当这个fragment不再使用时调用。但是还能被ac找到,因为没有被detach
8.onDetach 最后调用的,调用之后fragmetn就不再和ac想绑定了。
9.有一点很重要,Activity的onResume是可见,而Fragment不能这样理解, 要理解为预加载的几个界面都是现实的,因为预加载的时候都已经把onResume走了。他是根据setUserVisibleHint(boolean show)这个方法.

Fragment的另一个重要的东西FragmetnPageAdapter 和FragmetnStatePageAdapter

用FragmetnPageAdapter的话

第一次进来 当前第一个界面和右边的界面都会走attach onCreate onCreateView onActivityCreated onStart onResume
向右滑动到第二个界面 虽然第一个界面不显示了 但是不会走第一个的生命周期, 会走第三个界面的 attach onCreate onCreateView onActivityCreated onStart onResume,
在向右滑动到第三个界面 第四个界面会走上面的attach 到onResume ,这个时候因为预加载默认是1,所以第一个界面会走onPause—onStop —onDestoryView,这个时候只摧毁了view视图,而没有吧fragment摧毁掉,如果要把fragmetn摧毁掉肯定会走onDetach()
再向右滑动到第四个界面,这个时候,因为第四个界面已经预加载过了,所以只会走第二个界面的onPause—onStop —onDestoryView
现在向左滑动到第三个界面,会走第二个界面的onCreateView onActivityCreateView onstart 和onResume
再向左同上
如果直接屏幕关了 这个时候会走这预加载的三个界面的onPause 和onStop,再开屏幕就是onStart 和onResume

用FragmentStatePageAdapter的话

其余的都和FragmetnPageAdapte一样
第三点不一样,滑动到第三个的时候,预加载还是默认为1的时候,第一个界面不是摧毁view视图了,而是直接把fragment摧毁了,所有走的是onPause—onStop —onDestoryView —onDestory —onDetach。这就是他们的区别 一个摧毁view视图,一个摧毁整个fragment。不带state的adapter会吧所有的Fragmetn都加载到内存中,而带state的只会加载预加载的几个界面,所以内存消耗小,但是每次都要重新去创建view视图,也就是要从新走了attach 到onResume,这个会需比较耗时间

https://www.jianshu.com/p/9f538c3a1918

相关文章

  • Some points 4. - Fragment

    读 Fragments 总结 生命周期 Creating a Fragment adding a fragment...

  • Fragment使用总结

    title: Fragment使用总结tags: 学习笔记,Android,Fragment 原文:Fragme...

  • Day4-Fragment

    总结 Fragment初始化用newInstance viewPager开多Fragment, 考虑懒加载 get...

  • Glide v3.7源码分析(1)-----Glide.with

    Glide.with() 总结:创建一个Fragment绑定到Activity上面,Fragment调用setRe...

  • Fragment生命周期总结

    Fragment生命周期总结 概述 开发官网上对Fragment有非常详细的介绍。其中两张Fragment生命周期...

  • Fragment学习总结

    Fragment学习总结 Fragment:碎片。可以看成Activity的一个控件,必须依赖于Activity才...

  • fragment 总结

    1、fragment生命周期 onAttach onCreate onCreateView onActivityC...

  • Fragment总结

    目录 1.Fragment简述2.Fragment使用3.Fragment与Activity交互4.Fragmen...

  • fragment总结

    文章 【1】 fragment的基础知识 本篇文章简述fragment的使用,一些注意的事项,非常不错。

  • Fragment总结

    Fragment Fragment结构活动布局中的FragmentLayout(布局)容器Fragment的子布局...

网友评论

      本文标题:Fragment总结

      本文链接:https://www.haomeiwen.com/subject/vwuzmqtx.html