Android之fragment生命周期解析

上篇讲到了Fragment的基础应用,现在给大家演示一下Fragment的生命周期是什么样子的。关于Fragemnt的基础应用,请见http://blog.csdn.net/jiapeng2b/article/details/46919859

一、首先,我们先看一下Fragment的生命周期

跟Activity生命周期的对比

Activity直接影响它所包含的fragment的生命周期,所以对activity的某个生命周期方法的调用也会产生对fragment相同方法的调用。例如:当activity的onPause()方法被调用时,它所包含的所有的fragment们的onPause()方法都会被调用。

Fragment比activity还要多出几个生命周期回调方法,这些额外的方法是为了与activity的交互而设立,如下:

onAttach()

当fragment被加入到activity时调用(在这个方法中可以获得所在的activity)。

onCreateView()

当activity要得到fragment的layout时,调用此方法,fragment在其中创建自己的layout(界面)。

onActivityCreated()

当activity的onCreated()方法返回后调用此方法。

onDestroyView()

当fragment的layout被销毁时被调用。

onDetach()

当fragment被从activity中删掉时被调用。

一旦activity进入resumed状态(也就是running状态),你就可以自由地添加和删除fragment了。因此,只有当activity在resumed状态时,fragment的生命周期才能独立的运转,其它时候是依赖于activity的生命周期变化的

二、测试用的代码(这里就简单实现一下,打印出来)

package com.jp.fragment;

import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.framentdemo.R;

public class Fragmentdemo extends Fragment {
    /**
     * 当fragment被加入到activity时调用(在这个方法中可以获得所在的activity)。
     */
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        System.out.println("Fragment————onAttach()");
    }
    /**
     * 当activity要得到fragment的layout时,调用此方法,fragment在其中创建自己的layout(界面)。
     */
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        System.out.println("Fragment————()");
        return inflater.inflate(R.layout.title_frament, container, false);

    }
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        System.out.println("Fragment————onCreate()");
    }

    /**
     * 当activity的onCreated()方法返回后调用此方法。
     */
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        System.out.println("Fragment————onActivityCreated()");
    }
    /**
     *
     */
    public void onStart() {
        super.onStart();
        System.out.println("Fragment————onStart()");
    }

    /**
     *
     */
    public void onResume() {
        super.onResume();
        System.out.println("Fragment————onResume()");
    }

    public void onPause() {
        super.onPause();
        System.out.println("Fragment————onPause()");
    }

    public void onStop() {
        super.onStop();
        System.out.println("Fragment————onStop()");
    }

    /**
     * 当fragment的layout被销毁时被调用。
     */
    public void onDestroyView() {
        super.onDestroyView();
        System.out.println("Fragment————onDestroyView()");
    }

    public void onDestroy() {
        super.onDestroy();
        System.out.println("Fragment————onDestroy()");
    }

    /**
     * 当fragment被从activity中删掉时被调用。
     */
    public void onDetach() {
        super.onDetach();
        System.out.println("Fragment————onDetach()");
    }

}

三、场景演示

场景演示 : 切换到该Fragment

切换到其他Fragment:

切换回本身的Fragment:

回到桌面:

回到应用:

退出应用:

就简单介绍到这里,希望对大家有帮助~~

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2025-01-02 16:13:49

Android之fragment生命周期解析的相关文章

Android Activity Fragment 生命周期

从开源项目中看到 这个,就不由自主的收藏了~ https://github.com/xxv/android-lifecycle Android Activity Fragment 生命周期

重温Android和Fragment生命周期

重温下Android和Fragment生命周期,理解生命周期方法的作用,什么时候调用,可以做一些什么操作. 1.Android生命周期 1.1 生命周期图 1.2 生命周期函数说明 onCreate:Activity正在创建,生命周期的第一个方法,需要setContentView加载layout.这里不建议耗时操作,只做layout和控件初始化.此方法传递一个 Bundle 对象,可以获取上一个Activity 的状态. onStart:Activity正在启动,此时Activity已处于可见状

Android之——Fragment生命周期(日志截图版)

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46867159 版权声明:本文为博主原创文章,未经博主允许不得转载.

Android Activity生命周期以及Fragment生命周期的区别与分析

Android Fragment生命周期图: Activity生命周期图: 对照图: Fragment生命周期分析: 1. 当一个fragment被创建的时候,它会经历以下状态. onAttach() onCreate() onCreateView() onActivityCreated() 2. 当这个fragment对用户可见的时候,它会经历以下状态. onStart() onResume() 3. 当这个fragment进入“后台模式”的时候,它会经历以下状态. onPause() onS

Android之Activity,Fragment生命周期探知

Android之Activity,Fragment生命周期探知 - [email protected] - 博客频道 - CSDN.NET 根据官方文档,本人手画了一下Activity和Fragment的整个生命周期执行顺序图: Activity生命周期执行顺序图: Fragment生命周期执行顺序图: ? 一个Activity在它的整个生命周期里面分三个状态,分别是活动周期,可见周期,以及生命周期. 一个Fragment是依附于Activity之上,它的整个生命周期里面也分三个状态,分别是活动

Android开发之Activity和Fragment生命周期对比图

一.Activity 生命周期 二.Fragment 生命周期 三.对比图 四.测试代码 [java] view plaincopy package com.goso.testapp; import android.app.Activity; import android.app.ListFragment; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import a

【Android开发】之Fragment生命周期

上一篇博客我们讲到了,Fragment的基本使用,相信大家都已经了解怎么去使用了.如果还有不懂得同学可以去看一下,传送门.现在我们来讲解一下Fragment的生命周期. 一.Fragment的事务 再讲Fragment的生命周期之前,一定要讲一下FragmentTransaction也就是fragment的事务,这对我们理解生命周期有很重要的作用. 那么什么是事务?根据用户的交互情况,对fragment进行添加(add).移除(remove).替换(replace),以及执行其他动作,提交给ac

Android之Fragment学习笔记②(Fragment生命周期)

一. Fragment生命周期图                                  二.Fragment生命周期方法介绍 Fragment的生命周期和activity生命周期很像,其生命周期方法如下所示. onAttach: 绑定到activity(Fragment和Activity建立关联的时候调用). onCreate: 创建fragment onCreateView:  创建fragment的布局(为Fragment加载布局时调用). onActivityCreated: 

Fragment生命周期及其使用

Fragment是随着Android 3.0推出时携带的一部分,若是在1.6版本中使用,必须引入相应的支持包.Fragment最大的优点是你可以根据不同设备的屏幕大小创建动态的UI.Fragment有以下几个特点. 每个Fragment是个独立的模块 与其所在的Activity紧密的联系在一起 多个Activity可以共用一个Activity 1.Fragment生命周期. 首先来看下Fragment的生命周期,Fragment的生命周期和他所在的Activity的生命周期紧密联系在一起.因此看