SL4A - Android 架構



Android 軟體棧包含不同的層,每一層都表現出明確的行為併為其上層的層提供特定的服務。下圖展示了 Android 及其主要元件的廣泛架構。

Android Architecture

Linux 核心

Android 基於修改後的 Linux 核心程式碼構建,該程式碼針對嵌入式系統而非傳統的 Linux 系統。許多常用裝置的硬體驅動程式都內建在核心中,從而確保了裝置的可移植性。它基於安全的基於使用者的許可權模型,防止一個應用程式讀取另一個應用程式的資訊或干擾其執行(例如 CPU、記憶體、裝置等)。

基於組 ID 的對網路和藍牙功能、日誌記錄器、警報、電源管理、低記憶體終止程式、Binder IPC 機制的訪問是核心的一些顯著增強功能。

庫和執行時

這是架構的第二層。它包含一組針對硬體最佳化的 C、C++ 庫,也稱為原生層。例如媒體庫、SQLite、SSL、Bionic、WebKit 等。

Android 執行時包含兩個不同的元件:Dalvik VM 和核心庫。Dalvik VM 為 Android 平臺上的應用程式提供執行環境。核心庫集提供了 Java API 中的大部分功能。

應用程式框架

此層將庫作為服務提供給應用程式。此層內的一些最重要的元件包括位置管理器、資源管理器、活動管理器和通知管理器。

應用程式

預設情況下,Android 帶有一套豐富的應用程式,包括瀏覽器、簡訊程式、日曆、聯絡人管理器、地圖等。如果使用者需要,Google Play 提供了這些應用程式的替代方案。

構建塊

應用程式可以透過四個功能塊與系統互動。它們如下所示:

  • 活動 - 活動表示使用者看到的或視覺互動的單個螢幕。例如,一個電子郵件應用程式可能有一個活動顯示新電子郵件列表,另一個活動用於撰寫電子郵件,另一個活動用於閱讀電子郵件。

  • 服務 - 這些服務為您應用程式完成大部分處理工作。它是使用者介面背後的邏輯。例如,一個服務可以在使用者使用其他應用程式時在後臺播放音樂,或者它可以在不阻止使用者與活動互動的情況下透過網路獲取資料。

  • 廣播接收器 - 可以註冊以偵聽系統或應用程式事件併發出相關通知的元件。系統發出的廣播的一個例項是“電池電量低通知”,而應用程式級別的廣播可能是“下載成功”通知。

  • 內容提供程式 - 內容提供程式管理並幫助您在多個應用程式之間共享資料。例如,內容提供程式可用於共享聯絡人資料。

這些元件透過稱為意圖的訊息相互互動。

廣告