什麼是Activity
- Activity是負責完成人機交互的一個組件,一個Activity通常就是一個單獨的界面,可以顯示一些控件,也可以監聽並處理用戶的事件。
Activity狀態
- 四種狀態:運行,暫停,停止,銷燬
- 運行:啓動後在屏幕最前端,此時處於可見並可以和用戶交互的激活狀態
- 暫停:當被另一個透明Activity或者對話框覆蓋,失去焦點但可見時就處於暫停狀態,不能和用戶交互但是界面仍然可見
- 停止:當被另一個Activity完全覆蓋,失去焦點並不可見時處於停止狀態
- 銷燬:Activity被系統殺死回收或者沒有被啓動時處於銷燬狀態
Activity生命週期
- Activity生命週期就是這四種狀態切換的整個過程
onCreate()
一個Activity被啓動時調用的第一個方法,會把一些初始化數據、設置用戶界面等工作放在該方法中onCreate()
之後進入onStart()
方法,當前Activity時用戶可見狀態,但沒有焦點,不能與用戶交互,一般可做一些動畫的初始化操作onStart()
方法完成之後,進入onResume()
方法,當前Activity處於運行狀態,可與用戶進行交互onPouse()
當前Activity被另外的視圖覆蓋但仍然可見時,此時界面可見但不能與用戶交互onStop()
執行時當前Activity 對用戶不可見,在系統內存緊張的情況下有可能會被系統進行回收,可在該方法中做停止計時器等操作onDestroy()
表示該Activity正在被銷燬,也是生命週期最後一個執行方法,可在此方法中做一些回收工作和最終的資源釋放onRestart()
用戶按下home之後再次進入到當前Activity的時候調用,調用順序:
onPouse() -> onStop() -> onRestart() -> onStart() -> onResume()