Android--fragment生命周期测试

活动有4种状态  : 运行状态,暂停状态,停止状态,销毁状态  .一共有四种状态

恢复系统回收activity中存在的数据和状态

刚刚打开界面,就激活了前两个页面,
12-04 19:54:27.899 19531-19531/com.ncuhome.usconnection E/TAG: ZXZ:onAttach  1
12-04 19:54:27.899 19531-19531/com.ncuhome.usconnection E/TAG: ZXZ:onCreate  2
12-04 19:54:27.909 19531-19531/com.ncuhome.usconnection E/TAG: ZXZ:onCreateView  3
12-04 19:54:27.999 19531-19531/com.ncuhome.usconnection E/TAG: ZXZ:onActivityCreated  4
12-04 19:54:27.999 19531-19531/com.ncuhome.usconnection E/TAG: ZXZ:onStart  5
12-04 19:54:27.999 19531-19531/com.ncuhome.usconnection E/TAG: ZXZ:onResume  6

12-04 19:54:27.999 19531-19531/com.ncuhome.usconnection E/TAG: YYXZ:onAttach  1
12-04 19:54:27.999 19531-19531/com.ncuhome.usconnection E/TAG: YYXZ:onCreate  2
12-04 19:54:27.999 19531-19531/com.ncuhome.usconnection E/TAG: YYXZ:onCreateView  3
12-04 19:54:28.009 19531-19531/com.ncuhome.usconnection E/TAG: YYXZ:onActivityCreated  4
12-04 19:54:28.009 19531-19531/com.ncuhome.usconnection E/TAG: YYXZ:onStart  5
12-04 19:54:28.009 19531-19531/com.ncuhome.usconnection E/TAG: YYXZ:onResume  6
12-04 19:54:30.029 19531-19531/com.ncuhome.usconnection E/TAG: {"email":"[email protected]","phone":{"home":"08947 000000","mobile":"9999999999"},"name":"Ravi Tamada"}
转到第二个界面的时候,第三个界面执行到激活状态
12-04 20:31:32.539 26430-26430/com.ncuhome.usconnection E/TAG: BGS:onAttach 1
12-04 20:31:32.539 26430-26430/com.ncuhome.usconnection E/TAG: BGS:onCreate 2
12-04 20:31:32.539 26430-26430/com.ncuhome.usconnection E/TAG: BGS:onCreateView 3
12-04 20:31:32.549 26430-26430/com.ncuhome.usconnection E/TAG: BGS:onActivityCreated 4
12-04 20:31:32.549 26430-26430/com.ncuhome.usconnection E/TAG: BGS:onStart 5
12-04 20:31:32.549 26430-26430/com.ncuhome.usconnection E/TAG: BGS:onResume 6

转到第三个界面  ,  第一个界面执行到9
12-04 20:32:45.939 26430-26430/com.ncuhome.usconnection E/TAG: ZXZ:onPause 7
12-04 20:32:45.949 26430-26430/com.ncuhome.usconnection E/TAG: ZXZ:onStop 8
12-04 20:32:45.949 26430-26430/com.ncuhome.usconnection E/TAG: ZXZ:onDestroyView 9

转到第四个界面  ,  第二个界面执行到9
12-04 20:33:28.349 26430-26430/com.ncuhome.usconnection E/TAG: YYXZ:onPause 7
12-04 20:33:28.349 26430-26430/com.ncuhome.usconnection E/TAG: YYXZ:onStop 8
12-04 20:33:28.349 26430-26430/com.ncuhome.usconnection E/TAG: YYXZ:onDestroyView 9

返回到办公室的下一个界面,办公室激活  从onCreateView 开始执行.在onCreateView 中获取死掉后的信息????   先激活后杀死
12-04 20:37:19.079 26430-26430/com.ncuhome.usconnection E/TAG: BGS:onCreateView 3
12-04 20:37:19.089 26430-26430/com.ncuhome.usconnection E/TAG: BGS:onActivityCreated 4    如果用了addToBackStack()方法.这样视图并不会被销毁
12-04 20:37:19.089 26430-26430/com.ncuhome.usconnection E/TAG: BGS:onStart 5
12-04 20:37:19.089 26430-26430/com.ncuhome.usconnection E/TAG: BGS:onResume 6

在第一个界面,点击第三个界面,先激活第三个界面,在让第一个界面执行到9

结论, 打开页面一直执行到碎片已经激活状态,,,,始终保持显示的这个界面的左右两个界面出于激活状态,其他界面只执行到 9

1 运行状态

碎片可见,且与之关联的活动处于运行状态. ---> 碎片处于运行状态

2 暂停状态

  活动进入暂停状态时,(另一个未占满屏幕的活动被添加到栈顶),与它相关联的碎片就进入了暂停状态.

3.停止状态(停止状态的碎片完全不可见)

  活动处于停止状态的时候,碎片就处于停止状态,或者调用FragmentTransaction的remove() replace()方法将碎片从活动中移除 ,  但有在事务提交之前调用addToBackStack()方法.就会进入停止状态,有可能被系统回收

  当然如果在替换的时候没有调用addToBackStack()方法,此时的RightFragment就会进入销毁状态,onDestroy()和onDetach()方法就会得到执行。

4  销毁状态

  

另外值得一提的是,在碎片中你也是可以通过onSaveInstanceState()方法来保存数据的,因为进入停止状态的碎片有可能在系统内存不足的时候被回收。保存下来的数据在onCreate()、onCreateView()和onActivityCreated()这三个方法中你都可以重新得到,它们都含有一个Bundle类型的savedInstanceState参数。具体的代码我就不在这里给出了,如果你忘记了该如何编写可以参考博客:

  • onAttach()    碎片和活动关联时调用
  • onCreate()    创建Fragment时调用,在这里必须初始化Fragment的基础组件
  • onCreateView()       Fragment要绘制自己的界面时调用(加载布局),这个方法必须返回Fragment的layout,也可以返回null(表示没有界面)
  • onActivityCreated()     当Activity对象完成自己的onCreate方法时调用,确保与碎片相关联的activity已经调用且完毕.
  • onStart()      Fragment的UI可见时调用
  • onResume()    Fragment的UI可交互时调用
  • onPause()    Fragment 可见但不可交互时调用
  • onStop()    Fragment 完全不可见时调用
  • onDestroyView()     Fragment 移除视图时调用  (布局被移除时调用)  调用完了就进入了停止状态
  • onDestroy()    清理View资源时调用
  • onDetach()     碎片与活动解除关联时调用
时间: 2024-12-29 12:36:58

Android--fragment生命周期测试的相关文章

Android Fragment 生命周期及其API使用

Fragment:( Fragment就相当于一个有生命周期的View,它的生命周期被所在的Activity的生命周期管理 ) 生命周期回调说明: onAttach(Activity)当Fragment与Activity发生关联时调用.onCreateView(LayoutInflater, ViewGroup,Bundle)创建该Fragment的视图onActivityCreated(Bundle)当Activity的onCreate方法返回时调用onDestoryView()与onCrea

Android Fragment生命周期及静态加载

一个Fragment必须总是被嵌入到一个Activity中,它的生命周期直接被其所属的宿主Activity生命周期影响,它的状态会随宿主的状态变化而变化. 要创建一个Fragment 必须创建一个Fragment的子类,或者继承自另一个已经存在的Fragment的子类.并重写onCreateView()方法加载UI. 静态加载两个Fragment,左边显示三个Button,右边显示一个TextView 1 <LinearLayout xmlns:android="http://schema

android Fragment生命周期介绍

官网帮助文档链接: http://developer.android.com/guide/components/fragments.html 主要看两张图,和跑代码 一,Fragment的生命周 二,与Activity生命周期的对比 场景演示 : 切换到该Fragment 11-29 14:26:35.095: D/AppListFragment(7649): onAttach 11-29 14:26:35.095: D/AppListFragment(7649): onCreate 11-29

Android Fragment生命周期

Fragment与Activity的生命周期关系: 刚打开Activity:Fragment onAttach > Fragment onCreate > Fragment onCreateView > Activity onCreate > Fragment onActivityCreated > Activity onStart > Fragment onStart > Activity onResume > Fragment onResume 关闭Ac

android fragment生命周期应用

问题描述 很多时候我们使用fragment都是在viewpager里面嵌套fragment,或者activity下面一个选择标签,在一个container里面添加要切换的几个fragment,这个时候各个fragment之间的切换,他们的生命周期怎样变化呢,下面我们一起来研究下. 解决方案 fragment嵌套在viewpager里面 这个demo是我在csdn上面down下来的,这里贴出原作者.(http://blog.csdn.net/u013758734/article/details/2

Android Fragment 生命周期

启动的事件触发顺序 F Fragmeent A Activity onAttach(F) onAttachFragment(A) onCreate(F) onCreateView(F) onActivityCreated(F) onStart(A) onStart(F) onResume(F) 销毁触发顺序 销毁时,先Fragment后Activity onPause onDestroy

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 Activity生命周期以及Fragment生命周期的区别与分析

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

Android Activity Fragment 生命周期

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

Android之Activity,Fragment生命周期探知

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