探究Activity和Fragment各个情况的生命周期

打开APP : 

03-29 18:56:04.461 11735-11735/com.demo.lifecycle D/MainActivity: ---------- onCreate
03-29 18:56:04.485 11735-11735/com.demo.lifecycle D/Fragment1: ---------- onAttach
03-29 18:56:04.485 11735-11735/com.demo.lifecycle D/Fragment1: ---------- onCreate
03-29 18:56:04.491 11735-11735/com.demo.lifecycle D/Fragment1: ---------- onCreateView
03-29 18:56:04.491 11735-11735/com.demo.lifecycle D/Fragment1: ---------- onActivityCreated
03-29 18:56:04.491 11735-11735/com.demo.lifecycle D/Fragment1: ---------- onStart
03-29 18:56:04.492 11735-11735/com.demo.lifecycle D/MainActivity: ---------- onStart
03-29 18:56:04.492 11735-11735/com.demo.lifecycle D/MainActivity: ---------- onResume
03-29 18:56:04.492 11735-11735/com.demo.lifecycle D/Fragment1: ---------- onResume


点击tv222 : ( 打开fragment2 )

03-29 18:56:56.723 11735-11735/com.demo.lifecycle D/MainActivity: click ---------- 222
03-29 18:56:56.728 11735-11735/com.demo.lifecycle D/Fragment2: ---------- onAttach
03-29 18:56:56.728 11735-11735/com.demo.lifecycle D/Fragment2: ---------- onCreate
03-29 18:56:56.729 11735-11735/com.demo.lifecycle D/Fragment2: ---------- onCreateView
03-29 18:56:56.729 11735-11735/com.demo.lifecycle D/Fragment2: ---------- onActivityCreated
03-29 18:56:56.729 11735-11735/com.demo.lifecycle D/Fragment2: ---------- onStart
03-29 18:56:56.729 11735-11735/com.demo.lifecycle D/Fragment2: ---------- onResume

点击tv111 : ( 打开fragment1 )  ( fragment1 之前刚打开 MainActivity 的时候就已经加载过了 , 这个时候相当于从 fragment2 切换回fragment1 , fragment1 从隐藏到显示) :  // 从 hide 变为了 show , 生命周期没有走任何方法

03-29 18:59:23.591 11735-11735/com.demo.lifecycle D/MainActivity: click ---------- 111

再次点击tv222 :  // 从 hide 变为了 show , 生命周期没有走任何方法

03-29 19:00:02.931 11735-11735/com.demo.lifecycle D/MainActivity: click ---------- 222

按手机上的返回键关闭APP : 

03-29 19:00:55.727 11735-11735/com.demo.lifecycle D/Fragment1: ---------- onPause
03-29 19:00:55.727 11735-11735/com.demo.lifecycle D/Fragment2: ---------- onPause
03-29 19:00:55.727 11735-11735/com.demo.lifecycle D/MainActivity: ---------- onPause
03-29 19:00:56.280 11735-11735/com.demo.lifecycle D/Fragment1: ---------- onStop
03-29 19:00:56.280 11735-11735/com.demo.lifecycle D/Fragment2: ---------- onStop
03-29 19:00:56.280 11735-11735/com.demo.lifecycle D/MainActivity: ---------- onStop
03-29 19:00:56.285 11735-11735/com.demo.lifecycle D/Fragment1: ---------- onDestroyView
03-29 19:00:56.286 11735-11735/com.demo.lifecycle D/Fragment1: ---------- onDestroy
03-29 19:00:56.286 11735-11735/com.demo.lifecycle D/Fragment1: ---------- onDetach
03-29 19:00:56.286 11735-11735/com.demo.lifecycle D/Fragment2: ---------- onDestroyView
03-29 19:00:56.287 11735-11735/com.demo.lifecycle D/Fragment2: ---------- onDestroy
03-29 19:00:56.287 11735-11735/com.demo.lifecycle D/Fragment2: ---------- onDetach
03-29 19:00:56.287 11735-11735/com.demo.lifecycle D/MainActivity: ---------- onDestroy
-

-

-

接下来新加了一个 SecondActivity , 继续观察 : 


从 fragment2 的按钮点击跳转到第二个 Activity : 

03-29 19:14:14.856 21225-21225/com.demo.lifecycle D/Fragment1: ---------- onPause
03-29 19:14:14.857 21225-21225/com.demo.lifecycle D/Fragment2: ---------- onPause
03-29 19:14:14.857 21225-21225/com.demo.lifecycle D/MainActivity: ---------- onPause
03-29 19:14:14.890 21225-21225/com.demo.lifecycle D/SecondActivity: ---------- onCreate
03-29 19:14:14.890 21225-21225/com.demo.lifecycle D/SecondActivity: ---------- onStart
03-29 19:14:14.891 21225-21225/com.demo.lifecycle D/SecondActivity: ---------- onResume
03-29 19:14:15.350 21225-21225/com.demo.lifecycle D/Fragment1: ---------- onStop
03-29 19:14:15.350 21225-21225/com.demo.lifecycle D/Fragment2: ---------- onStop
03-29 19:14:15.350 21225-21225/com.demo.lifecycle D/MainActivity: ---------- onStop

从 SecondActivity 按手机上的返回键返回到 MainActivity (fragment2) : 

03-29 19:16:37.631 21225-21225/com.demo.lifecycle D/SecondActivity: ---------- onPause
03-29 19:16:37.645 21225-21225/com.demo.lifecycle D/MainActivity: ---------- onRestart
03-29 19:16:37.645 21225-21225/com.demo.lifecycle D/Fragment1: ---------- onStart
03-29 19:16:37.646 21225-21225/com.demo.lifecycle D/Fragment2: ---------- onStart
03-29 19:16:37.646 21225-21225/com.demo.lifecycle D/MainActivity: ---------- onStart
03-29 19:16:37.646 21225-21225/com.demo.lifecycle D/MainActivity: ---------- onResume
03-29 19:16:37.646 21225-21225/com.demo.lifecycle D/Fragment1: ---------- onResume
03-29 19:16:37.646 21225-21225/com.demo.lifecycle D/Fragment2: ---------- onResume
03-29 19:16:37.993 21225-21225/com.demo.lifecycle D/SecondActivity: ---------- onStop
03-29 19:16:37.993 21225-21225/com.demo.lifecycle D/SecondActivity: ---------- onDestroy


按手机上的返回键关闭APP : 

03-29 19:19:10.745 21225-21225/com.demo.lifecycle D/Fragment1: ---------- onPause
03-29 19:19:10.745 21225-21225/com.demo.lifecycle D/Fragment2: ---------- onPause
03-29 19:19:10.745 21225-21225/com.demo.lifecycle D/MainActivity: ---------- onPause
03-29 19:19:11.087 21225-21225/com.demo.lifecycle D/Fragment1: ---------- onStop
03-29 19:19:11.088 21225-21225/com.demo.lifecycle D/Fragment2: ---------- onStop
03-29 19:19:11.088 21225-21225/com.demo.lifecycle D/MainActivity: ---------- onStop
03-29 19:19:11.089 21225-21225/com.demo.lifecycle D/Fragment1: ---------- onDestroyView
03-29 19:19:11.090 21225-21225/com.demo.lifecycle D/Fragment1: ---------- onDestroy
03-29 19:19:11.090 21225-21225/com.demo.lifecycle D/Fragment1: ---------- onDetach
03-29 19:19:11.090 21225-21225/com.demo.lifecycle D/Fragment2: ---------- onDestroyView
03-29 19:19:11.090 21225-21225/com.demo.lifecycle D/Fragment2: ---------- onDestroy
03-29 19:19:11.091 21225-21225/com.demo.lifecycle D/Fragment2: ---------- onDetach
03-29 19:19:11.091 21225-21225/com.demo.lifecycle D/MainActivity: ---------- onDestroy

-

-

-

然后又在 fragment 里新加了 onHiddenChange , 继续观察 : 


打开APP :  // 和没加的时候是一样的

03-29 19:22:55.177 28376-28376/com.demo.lifecycle D/MainActivity: ---------- onCreate
03-29 19:22:55.248 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onAttach
03-29 19:22:55.248 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onCreate
03-29 19:22:55.256 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onCreateView
03-29 19:22:55.281 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onActivityCreated
03-29 19:22:55.281 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onStart
03-29 19:22:55.281 28376-28376/com.demo.lifecycle D/MainActivity: ---------- onStart
03-29 19:22:55.281 28376-28376/com.demo.lifecycle D/MainActivity: ---------- onResume
03-29 19:22:55.281 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onResume

点击 tv222 :

03-29 19:25:11.041 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onAttach
03-29 19:25:11.041 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onCreate
03-29 19:25:11.042 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onHiddenChanged -> 状态为隐藏
03-29 19:25:11.042 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onCreateView
03-29 19:25:11.044 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onActivityCreated
03-29 19:25:11.044 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onStart
03-29 19:25:11.044 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onResume

点击 tv111 : ( fragment1 之前刚打开 MainActivity 的时候就已经加载过了 , 这个时候相当于从 fragment2 切换回fragment1 , fragment1 从隐藏到显示) : 

03-29 19:26:35.886 28376-28376/com.demo.lifecycle D/Fragment2: ---------- 进到了 onHiddenChanged 
03-29 19:26:35.886 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onHiddenChanged -> 状态为隐藏
03-29 19:26:35.886 28376-28376/com.demo.lifecycle D/Fragment1: ---------- 进到了 onHiddenChanged 
03-29 19:26:35.886 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onHiddenChanged -> 状态为显示

再次点击 tv222 : 

03-29 19:28:03.186 28376-28376/com.demo.lifecycle D/Fragment1: ---------- 进到了 onHiddenChanged 
03-29 19:28:03.186 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onHiddenChanged -> 状态为隐藏
03-29 19:28:03.187 28376-28376/com.demo.lifecycle D/Fragment2: ---------- 进到了 onHiddenChanged 
03-29 19:28:03.187 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onHiddenChanged -> 状态为显示

从 fragment2 的按钮点击跳转到第二个 Activity : 

03-29 19:28:44.732 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onPause
03-29 19:28:44.732 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onPause
03-29 19:28:44.732 28376-28376/com.demo.lifecycle D/MainActivity: ---------- onPause
03-29 19:28:44.765 28376-28376/com.demo.lifecycle D/SecondActivity: ---------- onCreate
03-29 19:28:44.766 28376-28376/com.demo.lifecycle D/SecondActivity: ---------- onStart
03-29 19:28:44.767 28376-28376/com.demo.lifecycle D/SecondActivity: ---------- onResume
03-29 19:28:45.234 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onStop
03-29 19:28:45.234 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onStop
03-29 19:28:45.234 28376-28376/com.demo.lifecycle D/MainActivity: ---------- onStop

从 SecondActivity 按手机上的返回键返回到 MainActivity (fragment2) : 

03-29 19:30:41.012 28376-28376/com.demo.lifecycle D/SecondActivity: ---------- onPause
03-29 19:30:41.024 28376-28376/com.demo.lifecycle D/MainActivity: ---------- onRestart
03-29 19:30:41.025 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onStart
03-29 19:30:41.025 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onStart
03-29 19:30:41.025 28376-28376/com.demo.lifecycle D/MainActivity: ---------- onStart
03-29 19:30:41.025 28376-28376/com.demo.lifecycle D/MainActivity: ---------- onResume
03-29 19:30:41.025 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onResume
03-29 19:30:41.025 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onResume
03-29 19:30:41.342 28376-28376/com.demo.lifecycle D/SecondActivity: ---------- onStop
03-29 19:30:41.342 28376-28376/com.demo.lifecycle D/SecondActivity: ---------- onDestroy

按手机上的返回键关闭 APP : 

03-29 19:31:13.185 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onPause
03-29 19:31:13.185 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onPause
03-29 19:31:13.185 28376-28376/com.demo.lifecycle D/MainActivity: ---------- onPause
03-29 19:31:13.541 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onStop
03-29 19:31:13.542 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onStop
03-29 19:31:13.542 28376-28376/com.demo.lifecycle D/MainActivity: ---------- onStop
03-29 19:31:13.542 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onDestroyView
03-29 19:31:13.543 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onDestroy
03-29 19:31:13.543 28376-28376/com.demo.lifecycle D/Fragment1: ---------- onDetach
03-29 19:31:13.543 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onDestroyView
03-29 19:31:13.543 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onDestroy
03-29 19:31:13.543 28376-28376/com.demo.lifecycle D/Fragment2: ---------- onDetach
03-29 19:31:13.543 28376-28376/com.demo.lifecycle D/MainActivity: ---------- onDestroy

在 SecondActivity 中锁屏 : 

03-29 19:39:27.602 2810-2810/com.demo.lifecycle D/SecondActivity: ---------- onPause
03-29 19:39:27.608 2810-2810/com.demo.lifecycle D/SecondActivity: ---------- onStop

打开屏幕 : ( 回到APP )

03-29 19:41:21.787 2810-2810/com.demo.lifecycle D/SecondActivity: ---------- onRestart
03-29 19:41:21.803 2810-2810/com.demo.lifecycle D/SecondActivity: ---------- onStart
03-29 19:41:21.807 2810-2810/com.demo.lifecycle D/SecondActivity: ---------- onResume

在 MainActivity 中锁屏 : ( MainActivity 中打开的是 fragment1 ) : 

03-29 19:43:31.922 2810-2810/com.demo.lifecycle D/Fragment1: ---------- onPause
03-29 19:43:31.922 2810-2810/com.demo.lifecycle D/Fragment2: ---------- onPause
03-29 19:43:31.922 2810-2810/com.demo.lifecycle D/MainActivity: ---------- onPause
03-29 19:43:31.956 2810-2810/com.demo.lifecycle D/Fragment1: ---------- onStop
03-29 19:43:31.956 2810-2810/com.demo.lifecycle D/Fragment2: ---------- onStop
03-29 19:43:31.956 2810-2810/com.demo.lifecycle D/MainActivity: ---------- onStop
03-29 19:43:32.096 2810-2810/com.demo.lifecycle D/MainActivity: ---------- onRestart
03-29 19:43:32.113 2810-2810/com.demo.lifecycle D/Fragment1: ---------- onStart
03-29 19:43:32.113 2810-2810/com.demo.lifecycle D/Fragment2: ---------- onStart
03-29 19:43:32.113 2810-2810/com.demo.lifecycle D/MainActivity: ---------- onStart
03-29 19:43:32.114 2810-2810/com.demo.lifecycle D/MainActivity: ---------- onResume
03-29 19:43:32.114 2810-2810/com.demo.lifecycle D/Fragment1: ---------- onResume
03-29 19:43:32.114 2810-2810/com.demo.lifecycle D/Fragment2: ---------- onResume
03-29 19:43:32.121 2810-2810/com.demo.lifecycle D/Fragment1: ---------- onPause
03-29 19:43:32.121 2810-2810/com.demo.lifecycle D/Fragment2: ---------- onPause
03-29 19:43:32.121 2810-2810/com.demo.lifecycle D/MainActivity: ---------- onPause
03-29 19:43:32.124 2810-2810/com.demo.lifecycle D/Fragment1: ---------- onStop
03-29 19:43:32.124 2810-2810/com.demo.lifecycle D/Fragment2: ---------- onStop
03-29 19:43:32.124 2810-2810/com.demo.lifecycle D/MainActivity: ---------- onStop

打开屏幕 : ( 回到APP ) 

03-29 19:44:33.994 2810-2810/com.demo.lifecycle D/MainActivity: ---------- onRestart
03-29 19:44:34.006 2810-2810/com.demo.lifecycle D/Fragment1: ---------- onStart
03-29 19:44:34.006 2810-2810/com.demo.lifecycle D/Fragment2: ---------- onStart
03-29 19:44:34.006 2810-2810/com.demo.lifecycle D/MainActivity: ---------- onStart
03-29 19:44:34.007 2810-2810/com.demo.lifecycle D/MainActivity: ---------- onResume
03-29 19:44:34.007 2810-2810/com.demo.lifecycle D/Fragment1: ---------- onResume
03-29 19:44:34.007 2810-2810/com.demo.lifecycle D/Fragment2: ---------- onResume

-

-

-

深入理解 Fragment 的生命周期 : http://blog.csdn.net/qq_28261207/article/details/68485188

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值