Sunday, October 19, 2014

Android學習筆記 --- Activity的7個生命週期函數


7個Activity生命週期的函數:

onCreate()
onDestroy()
onPause()
onRestart()
onResume()
onStart()


打開Application,啟動Activity
系統首先會自動調用onCreate() —> onStart() —>onResume()

 這時候畫面是這樣的:
 當Activity一開始啟動時就會調用onCreate()方法,通常用於設置靜態(static)的操作(e.g.布局文件、監聽器等等)然後當Activity能被我們看到時,就會調用onStart()方法等到Activity能被我們操作時,就調用onResume()方法

現在點擊按鈕,轉到另一個Activity

MyActivity會先調用onPause()方法 , 暫停當前的Activity後再轉到另一個Activity,在onPause()𥚃應該保存當前Activity的數據,這樣當再次回到這個Activity時就能讀取之前的數據
然後second由於是第一次啟動,所以就會依舊調用onCreate() —> onStart() —>onResume()
最後當MyActivity不能被我們看到時就會調用onStop()方法(注意:如果另一個Activity是以對話框的形式顯示出來,而沒有完全遮蔽當前的Activity,是不會調用onStop()方法的)



如果這時候,再回到MyActivity,

就會像上面一樣,second會先調用onPause()方法,MyActivity再調用onRestart() —> onStart() —>onResume()
之後second會調用onStop()方法後再調用onDestroy()方法消除second Activity

















如果這時候又轉到second,
MyActivity就會調用onPause()
second由於之前被onDestroy()方法消除了,所以就會依舊調用onCreate() —> onStart() —>onResume()
最後MyActivity調用onStop()方法


















No comments:

Post a Comment