Android Fragment 小结(1)

来源:互联网 发布:淘宝网购买泓铭软件 编辑:程序博客网 时间:2024/05/29 19:24

用过一段时间Fragment之后,发现对Fragment产生了困惑,通过小结来理一理思路

Fragment产生与介绍

Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视。针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的。难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊。Fragment的出现就是为了解决这样的问题。你可以把Fragment当成Activity的一个界面的一个组成部分,甚至Activity的界面可以完全有不同的Fragment组成,更帅气的是Fragment拥有自己的生命周期和接收、处理用户的事件,这样就不必在Activity写一堆控件的事件处理的代码了。更为重要的是,你可以动态的添加、替换和移除某个Fragment。

Fragment生命周期

这里写图片描述

onAttach()
当Fragment与Activity发生关联时调用,可以在此方法可与ActivityJ进行通信,获取它传过来的值,只调用一次。

onCreate()
创建Fragment时调用,调用一次。

onCreateView()
加载Fragment布局

onActivityCreated()
当Activity中的onCreate方法执行完成时调用

onStart()
Fragment启动时回调 此时Fragement可见。

onResume()
Fragement 进入前台, 可获取焦点时激活;

onPause()
和activity一致 其他的activity获得焦点,这个仍然可见
第一次调用的时候,指的是 用户 离开这个fragment(并不是被销毁)
通常用于 用户的提交(可能用户离开后不会回来了)

onStop()
和activity一致
fragment不可见的, 可能情况:activity被stopped了 OR fragment被移除但被加入到回退栈中
一个stopped的fragment仍然是活着的如果长时间不用也会被移除

onDestroyView()
Fragment中的布局被移除时调用。
表示fragemnt销毁相关联的UI布局
清除所有跟视图相关的资源

onDestroy()
销毁fragment对象

onDetach()
Fragment和Activity解除关联的时候调用。
脱离activity

下面贴一下 activity和fragment同时运行时候的 生命周期

这里写图片描述

0 0
原创粉丝点击