打开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
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