想要學好安卓開發,就必須理解安卓軟體的生命週期,明白一個活動的建立、啟動、停止、暫停、重啟和銷燬的過程,知道各個階段會呼叫什麼函式進行處理不同的情況,這裡我就通過一個簡單的例子讓大家明白一個活動的生命週期。
工具/原料
Android studio
一部安卓手機或者安卓模擬器
Android studio如何重寫函式
在Android studio中,如果需要重新某個函式,可以在選單欄中的“code”下選擇第一項“override methods”,或者按Ctrl+O開啟。
在彈出的列表中找到需要重寫的函式,以onStart()為例,不要看到沒有搜尋口就頭疼了,直接在當前列表輸入所需的函式即可。
然後就可以看到已經生成的重新函數了,每個重寫函式前面都有一個@override的標誌。在生成的程式碼中新增一句:
Log.d(tag, "In the onStart() event");
這樣一來,一個活動的啟動重寫函式就完成了,其他函式都可以通過相同方式重寫。
在建立好的專案的DemoActivity.java中,在類中新增:
String tag = "lifestyle";
在自動生成的onCreate中新增程式碼:
Log.d(tag,"In the onCreate() event");
按上述重寫函式的方式分別重寫:
onStart、onResume、onRestart、onPause、onStop、onDestroy。
在每個重寫函式中分別加上:
Log.d(tag,"In the onStart() event");
Log.d(tag,"In the onResume() event");
Log.d(tag,"In the onRestart() event");
Log.d(tag,"In the onPause() event");
Log.d(tag,"In the onStop() event");
Log.d(tag,"In the onDestroy() event");
活動的生命週期
連線安卓手機進行模擬測試,shift+F10生成apk並在手機上自動安裝。
剛啟動時,活動需要經過建立、啟動、繼續三個階段,對應著onCreate、onStart、onResume三個函式。onResume可以繼續、重新開始、恢復三重含義。
在logcat視窗可以檢視當前活動所處的狀態。
當有別的活動在當前活動前顯示,或者自動鎖屏時,當前活動會暫停,呼叫onPause函式,重新回到當前活動時,會呼叫onResume函式。
當退回手機主頁時,當前活動會從onResume狀態通過onPause再到onStop,表示當前活動不可見,被停止。
但重新開啟時,活動又由停止狀態通過onReStart,onStart再重新回到onResume狀態。
如果按下返回鍵退出程式,活動就會由onResume狀態經過onPause、onStop最後呼叫onDestroy銷燬活動。
本經驗第一張圖片給大家展示了一個活動的生命週期如何切換,又通過例子說明了不同狀態下活動如何處理,相信大家對活動的生命週期有了相當的瞭解。這樣就可以把握好程式編寫的要領,在合適的函式中處理合適的事情,會讓你的app更加完美。