Android LifeCycle

摘要:Android LifeCycle

生命週期(Lifecycle)
onCreate() 創造時呼叫
onStart() 可以看到的時候呼叫
onResume() 可以操作的時候呼叫
onPause() 保存資料
onStop() 不可見時就呼叫
onDestroy() 在code中執行finish()或系統中資源不夠用時呼叫
onRestart() 有執行過後被onDestory()後,又再呼叫時
 
Activity1(A) 啟動 Activity2(B)時的流程
A onCreate
A onStart
A onResume
 
啟動 B後
A onPause
B onCreate
B onStart
B onResume
A onStop
 
按下返回鍵
B onPause
A onRestart
A onStart
A onResume
B onStop
B onDestory
 
再按下啟動Activity(B)
A onPause
B onCreate
B onStart
B onResume
A onStop


Task 即一個存Activities的堆疊(stack)
A B C D 4個Activities
A呼叫B,B呼叫C,C呼叫D
在stack內為 D C B A
按下返回鍵後,依序返回為D C B A
但是若在B中加入finish()時
則按下返回鍵後,依序返回為變成了D C A
因為B呼叫C後就會執行onDestory()
 
 
小視窗風格的Activity
被呼叫的Activity2以小視窗出現在View上,而Activity1不消失在螢幕上
在manifest上的新增的activity改為
android:theme = “android:style/Theme.Dialog”
 
在小視窗風格的生命週期變為
Activity1(A) 啟動 Activity2(B)時的流程
A onCreate
A onStart
A onResume
 
啟動 B後
A onPause
B onCreate
B onStart
B onResume
 
按下返回鍵
B onPause
A onResume