Fragment 整个生命周期

 

时间 2014-05-21 17:09:53 CSDN博客原文 http://blog.csdn.net/linfeng24/article/details/26491407

Fragment 生命周期主要体现在以下表中 13 个方法里,以下是按照 Fragment 从开始到销毁的先后执行顺序排序。

序号

方法名称

描述

1

public void onInflate(Activity activity, AttributeSet attrs,Bundle savedInstanceState)

在 Act ivity.onCreate 方法之前调用,可以获取除了View 之外的资源

2

public void onAttach(Activity activity)

当 f ragment 第一次与 Activity 产生关联时就会调用,以后不再调用

3

public void onCreate(Bundle savedInstanceState)

在 on Attach 执行完后会立刻调用此方法,通常被用于读取保存的状态值,获取或者初始化一些数据,但是该方法不执行,窗口是不会显示的,因此如果获取的数据需要访问网络,最好新开线程。

4

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState)

作用:创建 Fra gment 中显示的 view, 其中 inflater用来装载布局文件, container 表示 <fragment> 标签的父标签对应的 ViewGroup 对象, savedInstanceState可以获取 Fragment 保存的状态

5

public void onViewCreated(View view, Bundle savedInstanceState)

继上面后就会调用此方法

6

public void onActivityCreated(Bundle savedInstanceState)

在 Acti vity.onCreate 方法调用后会立刻调用此方法,表示窗口已经初始化完毕,此时可以调用控件了

7

public void onStart()

开始执行与控件相关的逻辑代码,如按键点击

8

public void onResume()

这是 Fr agment 从创建到显示的最后一个回调的方法

9

public void onPause()

当发生界面跳转时,临时暂停,暂停时间是 500ms ,0.5s 后直接进入下面的 onStop 方法

10

public void onStop()

当该方法返回时, Fra gment 将从屏幕上消失

11

public void onDestroyView()

当 fragm ent 状态被保存,或者从回退栈弹出,该方法被调用

12

public void onDestroy()

当 Fra gment 不再被使用时,如按返回键,就会调用此方法

13

public void onDetach()

Fragment 生命周期的最后一个方法,执行完后将不再与 Activity 关联,将释放所有 fragment 对象和资源

时间: 2024-12-10 14:57:40

Fragment 整个生命周期的相关文章

Fragment的生命周期

Fragment的生命周期有11个,比Activity的生命周期会复杂不少,而且Fragment的生命周期同Activity的生命周期的穿插的执行的,看图: 其中背景为蓝色的为Activity的生命周期,其他的为Fragment周期,由图可以看出,在Fragment初始化完成前,相同的生命周期都是Activity先执行的,而进入销毁的周期时,就变成了Fragment的先执行. 1.  public void onAttach(Activity activity)方法 执行完该方法,Fragmen

Fragment 整个生命周期演示

Fragment生命周期主要体现在以下表中13个方法里,以下是按照Fragment从开始到销毁的先后执行顺序排序. 序号 方法名称 描述 1 public void onInflate(Activity activity, AttributeSet attrs,BundlesavedInstanceState) 在Activity.onCreate方法之前调用,可以获取除了View之外的资源 2 public void onAttach(Activity activity) 当fragment第

【Android】11.4 Fragment及其生命周期

分类:C#.Android.VS2015: 创建日期:2016-02-22 一.简介 Android从3.0开始引入了fragment的概念,主要是为了支持在大屏幕上实现更为动态和灵活的UI设计,比如平板电脑等.由于平板电脑的屏幕要比手机屏幕大许多,这样就有更多的空间去组合和交换UI组件. 也许这样比喻你能更快地理解它:和WPF相比,如果将Activity的作用看作类似于WPF的Window或者Page:那么Fragments的作用就类似于WPF在Window或者Page中包含的一个或多个Fra

Fragment的生命周期&amp;同一Activity下不同Fragment之间的通信

Android开发:碎片Fragment完全解析(2) Fragment的生命周期 和Activity一样,Fragment也有自己的生命周期,理解Fragment的生命周期非常重要,我们通过代码的方式来瞧一瞧Fragment的生命周期是什么样的: 1 publicclass Fragment1 extends Fragment { 2 publicstaticfinal String TAG = "Fragment1"; 3 @Override 4 public View onCre

友盟页面统计 - 关于Viewpager中的Fragment的生命周期

Activity和Fragment各自理论上的生命周期 Activity的生命周期是较为经典也最清晰的.在此不表: Fragment从出现到广泛运用也有一段时间了.其标准生命周期也仅比Activity多出一些流程,如onCreateView(); Activity和Fragment在实际编码中必然是结合出现的,表现为Activity作为容器,装载有一个或若干个Fragment: 装载多个Fragment时,常常使用TabHost和Viewpager作为载体: 在实际编码中发现,Activity和

详解fragment(一):从源代码看fragment的生命周期

前面讲了那么多xml,我们缓一下,现在讲从代码角度来看fragment的创建. 我们通常会在FragmentActivity中通过如下方法: getSupportFragmentManager().beginTransaction().replace(R.id.content, fragment, tag).commit(); getSupportFragmentManager().beginTransaction().add(R.id.content, fragment, tag).commi

Activity和Fragment的生命周期

Activity和Fragment的生命周期

Fragment传值为什么要通过setArguments()和Fragment的生命周期

在Fragment2中,新建一个函数:newInstance(String  text)来接收传过来的参数: 新建一个Fragment2实例,然后将参数通过SetArguments设置到其中: public static Fragment2 newInstance(String text) {        Fragment2 fragment = new Fragment2();        Bundle args = new Bundle();        args.putString(

死磕 Fragment 的生命周期

死磕 Fragment 的生命周期 本文原创,转载请注明出处. 欢迎关注我的 简书 ,关注我的专题 Android Class 我会长期坚持为大家收录简书上高质量的 Android 相关博文. 本文例子中 github 地址: github 项目链接 曾经在北京拥挤的13号线地铁上,一名背着双肩包穿着格子衫带着鸭舌帽脚踏帆布鞋的程序员讲了一句: "我觉得 Fragment 真的太难用了".从而引起一阵躁动激烈的讨论. 正方观点: Fragment 真的太好用了.要知道因为 Activi

Android高级编程笔记(六)Fragment的生命周期

在上一篇博文中对Fragment做了简单的介绍,现在再来探讨一下Fragment的生命周期. 一.Fragment的几种状态: 与Activity类似,Fragment也有一下几种状态: · 活动状态:当前Fragment位于前台,可见,可获得焦点. · 暂停状态:其他Activity位于前台,该Fragment可见,不可获得焦点. · 停止状态:不可见,失去焦点. · 销毁状态:该Fragment被完全删除或被结束. 二.Fragment的回调方法: 在Fragment的生命周期中,有一下方法