标签:
活动有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参数。具体的代码我就不在这里给出了,如果你忘记了该如何编写可以参考博客:
标签:
原文地址:http://www.cnblogs.com/zrui513/p/5020390.html