目錄
- 一、Activity是什么?
- 二、Activity堆疊
- 三、Activity狀態
- 四、Activity生命周期
一、Activity是什么?
Activity是Android的四大組件之一,Activity利用View來實作應用程式的圖形用戶界面GUI,而手機用戶則是通過GUI和應用程式做互動,
一個Activity代表一個顯示給用戶的螢屏,一個應用程式需要多少個Activity?每個Activity表示什么樣的界面?這些問題都取決于具體的程式設計,通常,程式啟動后顯示的第一幅畫面是應用程式的第一個Activity,應用程式需要至少一個Activity作為主螢屏,同時需要其他Activity作為補充,
二、Activity堆疊
Android系統中,所有Activity都被保存在Activity堆疊中,
當啟動一個新Activity后,新Activity就會被壓堆疊并處于堆疊頂,用戶螢屏上顯示的就是堆疊頂的Activity,如果用戶按下回傳鍵回到上一個畫面,那么堆疊頂的Activity就會被彈出,之前位于堆疊頂的第二個Activity就會變成堆疊頂Activity,

三、Activity狀態
Activity有以下4種狀態:
- 活躍, 當一個Activity位于Activity堆疊頂的時候,它所代表的用戶界面處于螢屏的前端,對于用戶來說是可見的 ,而且用戶還能在這個界面上進行輸入,也就是它擁有用戶輸入的焦點 ,
- 暫停, 暫停狀態下的Activity對用戶來說是可見的 ,但它不擁有用戶輸入的焦點 ,出現這種情況的場景可能是:在應用程式的前端出現了一個非全屏顯示的Activity,處于暫停狀態的Activity位于這個非全屏顯示的Activity下方,用戶還是能看見,看不能在暫停狀態的Activity用戶界面上進行輸入,
- 結束, 一個暫停的Activity在螢屏上變得不可見時,它的狀態就是結束,系統會在記憶體中保存結束狀態的Activity的狀態資訊,以便當Activity變為可見時,系統能迅速切換其狀態,
- 銷毀(非活躍), 當Activity徹底結束后,從Activity堆疊中移除,這時的Activity狀態為非活躍,
程式員和用戶都無法預知Activity狀態的變化,Activity狀態的變化完全由Android記憶體管理器決定,變化順序是不確定的,
當系統記憶體不足需要釋放資源時,處于結束狀態的Activity是首選物件,通常系統不會結束處于暫停狀態下的Activity,但如果系統記憶體嚴重不足,系統也可能會釋放暫停的Activity,

四、Activity生命周期
Activity完整的生命周期是指一個Activity從創建(呼叫onCreate())到銷毀(呼叫onDestroy())的程序,期間可能經歷多個狀態的變化遷移,Android系統提供了例如onCreate()、onStart()、onResume()等回呼方法,當Activity狀態發生變化時,相應的方法就會被呼叫,
- onCreate():用于初始化Activity,從包中獲取資料,填充界面,為界面控制分配資料,創建服務和執行緒,
- onStart():在Activity對用戶可見時呼叫,如果Activity進入前臺,則緊跟著onResume();如果活動被隱藏,則緊跟著onStop(),
- onResume():在Activity將開始與用戶互動時呼叫,此時的Activity位于Activity堆疊的頂部,可見且具有用戶輸入的焦點,
- onPause():當Activity進入后臺但尚未被殺死時,被稱為Activity生命周期的一部分,
- onStop():不再對用戶可見時呼叫,
- onDestroy():Activity結束時呼叫,多載onDestroy()方法可以清除在呼叫onCreate()時創建的資源,通常,在onDestroy()中我們需要確保網路鏈接、資料連接等已經被關閉,
- onRestart():在Activity停止之后,再次開始之前呼叫,

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/286631.html
標籤:其他
