首先我們來看下這張圖片,當程式開始執行時,會執行 onCreate(),onStrat(),onResume().這三個方法。
onCreate()
您必須實現此回撥,其在系統首次建立 Activity 時觸發。Activity 會在建立後進入已建立狀態。在 onCreate() 方法中,您需執行基本應用啟動邏輯,該邏輯在 Activity 的整個生命週期中只應發生一次。
onStart()
當 Activity 進入「已開始」狀態時,系統會呼叫此回撥。onStart() 呼叫使 Activity 對使用者可見,因為應用會為 Activity 進入前臺並支援互動做準備。例如,應用通過此方法來初始化維護介面的程式碼。
onStart() 方法會非常快速地完成,並且與「已建立」狀態一樣,Activity 不會一直處於「已開始」狀態。一旦此回撥結束,Activity 便會進入已恢復狀態,系統將呼叫 onResume() 方法。
onResume()
該方法執行完後,才可以進行互動。***
當我們點選返回鍵後,會執行
這種情況比較簡單,基本上是單個Activity從開始到結束的生命週期。
onPause()
系統將此方法視為使用者正在離開您的 Activity 的第一個標誌(儘管這並不總是意味著活動正在遭到銷燬);此方法表示 Activity 不再位於前臺(儘管如果使用者處於多視窗模式,Activity 仍然可見)。使用 onPause() 方法暫停或調整當 Activity 處於「已暫停」狀態時不應繼續(或應有節制地繼續)的操作,以及您希望很快恢復的操作。
這種情況很常見,跳轉到一個 Activity 或 Home 鍵回到桌面。
這 種 情 況 一 般 發 生 在 跳 轉 到 一 個 DialogActivity , Activity 並 沒 有 被 DiallogActivity 完全蓋住,比較少見。
這種情況多發生在螢幕旋轉時,這時候我們可以利用 onSavedInstance()
儲存一 些資料,在 onCreate()
或 onRestoreInstanceState()
時拿到之前的一些資料。
當旋轉螢幕後,會先執行onSavedlnstance()
方法,之後銷燬頁面,重新開始執行這個頁面,但是之前頁面的資料會儲存。