一、描述
上圖是Activity所有的生命週期
二、場景
下面簡單列舉下 不同場景Acitvity的生命週期是如何切換 的
1、啓動Activity
onCreate()
onStart()
onResume()
2、跳轉到其他Activity,或者按Home鍵
onSaveInstanceState()
onPause()
onStop()
3、從後臺回到前臺
onRestart()
onStart()
onResume()
4、打開樣式爲@android:style/Theme.Dialog的Activity,或者鎖屏
onSaveInstanceState()
onPause()
因爲頁面只是被覆蓋或者被鎖屏了,所以不走stop
5、從樣式爲@android:style/Theme.Dialog的Activity回到當前Activity,或者屏幕重新亮起
onResume()
6、退出
onPause()
onStop()
onDestory()
7.沒有配置android:configChanges=”orientation” 標籤的Activity進行屏幕旋轉
onSaveInstanceState() put params
onPuase()
onStop()
onDestory()
onCreate()
onStart()
onRestoreInstanceState() get params
onResume()
8.配置了 android:configChanges=”orientation” 標籤的Activity 進行屏幕旋轉
onConfigChanges()
三、總結
Activity的生命週期簡單說到這裏,不太常見的,莫過於 onSaveInstanceState() , onRestoreInstanceState() 這2個.
onSaveInstanceState() 用來存儲關鍵參數的
onRestoreInstanceState() 用來取出被銷燬的關鍵參數的
數據存儲媒介:Bundle .
OK,非常簡單的一篇文章,小夥伴們快自己打Log試試吧.