生命周期分三組:
1.完整的生命周期:
onCreate()->onDestory()
2.可視的生命周期:
onStart()->onStop()
3.前臺的(可交互的)生命周期:
onResume()->onPause()
單個Activity的情況
1.當(dāng)你初次啟動一個Activity
onCreate()
onStart()
onResume()
2.直接點擊回退鍵(Back)
onPause()
onStop()
onDestory()
3.你點了菜單鍵(Recent鍵)
onPause()
onStop()
- 再點回這個軟件呢虐呻?狈谊?钻蹬?
onRestart()
onStart()
onResume()
4.點擊電源鍵(關(guān)屏):
onPause
onStop
亮屏
onRestart
onStart
onResume
5.旋轉(zhuǎn)屏幕(重新構(gòu)建Activity)
onPause()
onStop()
onDestory()
onCreate()
onStart()
onResume()
兩個Activity
1.跳轉(zhuǎn)新Activity(有setContentView)
MainActivity: onPause
SecondActivity: onCreate
SecondActivity: onStart
SecondActivity: onResume
MainActivity: onStop
- Back
SecondActivity: onPause
MainActivity: onRestart
MainActivity: onStart
MainActivity: onResume
SecondActivity: onStop
SecondActivity: onDestroy
2.跳轉(zhuǎn)新Activity(沒有setContentView)
MainActivity: onPause
TranslateActivity: onStart
TranslateActivity: onResume
MainActivity: onStop
//其實就是少了onCreate()
- Back
TranslateActivity: onPause
MainActivity: onRestart
MainActivity: onStart
MainActivity: onResume
TranslateActivity: onStop
TranslateActivity: onDestroy
3.跳轉(zhuǎn)新Activity(沒有setContentView并且設(shè)置了透明主題)
<!--透明主題樣式-->
<style name="AppThemeTranslucent" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
<item name="android:windowBackground">@color/colorTranslucent</item>
</style>
MainActivity: onPause
TranslateActivity: onStart
TranslateActivity: onResume
MainActivity: onStop
//其實就是少了onDestory()
- Back
TranslateActivity: onPause
MainActivity: onRestart
MainActivity: onStart
MainActivity: onResume
TranslateActivity: onStop
TranslateActivity: onDestroy
為什么會這么設(shè)計崖蜜??法牲?
其實我悄悄告訴你:你要是我這些你都明白了那你就入門了另一項知識->冷啟動和熱啟動