码迷,mamicode.com
首页 > 移动开发 > 详细

Android--fragment生命周期测试

时间:2015-12-04 22:51:28      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:

活动有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":"ravi8x@gmail.com","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()     碎片与活动解除关联时调用

 

Android--fragment生命周期测试

标签:

原文地址:http://www.cnblogs.com/zrui513/p/5020390.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!