什麼是 Android Activity?它們的生命週期是什麼? - 技術
跳至內容

什麼是 Android 活動及其生命週期?

行動應用程式開發中的主要概念之一是Activity的概念,它們是應用程式的基礎,這次我們將了解它們由什麼組成以及它們的生命週期是什麼。

廣告


在官方 Android 開發者頁面上,我們可以找到有關活動代表的內容的更詳細說明(https://developer.android.com/guide/components/activities/intro-activities)在這裡我們將看到關於它們及其生命週期的一般性。


我們已經看到,Android 應用程式由不同的圖形元件或視圖組成,此外,它們還具有允許圖形介面獨立於應用程式邏輯的目錄結構,螢幕透過包含以下內容的 xml 檔案進行管理:佈局或內容管理器以及邏輯在與Activity 類別相對應的Activity 中進行,還有另一個稱為片段的概念,它存在於活動內部,但這是我們稍後將處理的內容。


Activity 類別是應用程式的主要元件之一。它們正是建立應用程式的基礎,因為它們管理系統邏輯以及使用者將與之互動的內容。 Android 應用程式從 Activity 實例開始,該實例具有定義的生命週期以保持應用程式運作。


在深入了解生命週期之前,非常重要的一點是要明確行動應用程式的功能與其他應用程式的功能不同,行動應用程式沒有特定的起點,不像桌面應用程式透過 main( )方法,應用程式可以從其任何螢幕啟動(這並不意味著我們不能發出啟動命令)。


在內部,當我們更改螢幕時,所做的是活動之間的調用(或在同一活動中替換片段),並且當我們以相同的方式在應用程式之間更改時,透過呼叫其初始活動來調用應用程式.


一個應用程式通常由多個螢幕組成,這相當於有多個相互通信的活動,儘管已經提到應用程式可以從任何活動啟動,但活動始終被定義為主活動 MainActivity (儘管不一定是第一個顯示的),並從那裡標記透過呼叫新活動或片段來導航系統的起點。

清單檔案(AndroidManifest.xml)


在上一篇文章中我們討論了清單文件,這是一個配置文件,允許您參數化應用程序的主要元素,在這裡您將找到諸如應用程序 ID、名稱、圖標、它包含的活動等信息,權限等重要項目。



建立活動時,androidStudio 會自動在 AndroidManifest.xml 檔案中對其進行參數化,然後您也可以新增篩選器或屬性來確定應用程式的其他操作,例如在上圖中您可以看到 MainActivity 是活動系統主(第一個顯示的)自 與屬性一起添加到其中 <action android:name="android.intent.action.MAIN" />

活動生命週期。


一個Activity在執行過程中會經歷幾種狀態,這些狀態是透過使用者與Activity的互動而發生的,例如當它進入、離開、再次進入或關閉時,android允許我們透過一系列的來控制這些狀態。我們可以實現定義的方法來管理行為,例如,您可以在更改螢幕時暫停視訊播放器或在退出應用程式時取消連接進程,在Android開發人員頁面上我們可以找到這些方法的詳細資訊(在那裡我們也可以找到下圖顯示了它的工作原理:


讓我們來看看每個狀態的摘要:


  • onCreate()

    該方法是Activity中預設建立的,當它開始透過setContentView()方法引用圖形部分對應的佈局時被激活,這是第一個執行的方法。

  • onStart()

    當 onCreate() 關閉時,活動的狀態從已建立變更為已啟動,並呈現給用戶,這是視圖和活動開始互動的地方。

  • 簡而言之()

    Activity啟動後,onResume()狀態發生變化,它負責處理使用者互動訊息,這裡使用者輸入的所有內容都會被辨識並擷取。

  • onPause()

    如果 Activity 失去焦點並被中斷,則會呼叫 Pause 狀態,例如,當使用者按下後退按鈕或更改螢幕時,這表示 Activity 在關閉時仍然部分可見。

    從這個狀態你可以再回到 onResume() 或 onStop()

  • onStop()

    當該Activity 對用戶不再可見時,此狀態開始,這可能是因為該Activity 已被刪除,已停止的Activity 正在重新激活,或者因為新的Activity 正在啟動,在這種情況下,停止的Activity 對使用者不再可見使用者。用戶,從這裡您可以呼叫 onRestart() 或 onDestroy()

  • onRestart()

    當一個已停止的 Activity 將再次啟動時,系統會進入此狀態,這裡 Activity 的狀態從其停止並呼叫 onStart() 的那一刻起恢復。

  • onDestroy()

    最後,系統在刪除活動之前呼叫此方法,這是活動經歷的最後一個狀態,並且在必須保證關閉或釋放活動的所有資源時實現。


這些方法可以在專案中實現如下:


因此,當啟動應用程式時,我們將在 logcat 中看到行為。

就這樣,我們看到了活動的組成以及如何控制生命週期,然後我們可以繼續開發基本應用程式。

您可能也感興趣。




您對此條目有什麼要添加或評論的嗎?隨意做….如果你喜歡它...我邀請你分享 單擊“加入此網站”按鈕進行訂閱,以收聽更多類似的帖子 😉