• Android Video Tutorials

Android 架構



Android 作業系統是一個軟體元件堆疊,大致分為五個部分和四個主要層,如下面的架構圖所示。

Android Architecture

Linux 核心

在最底層是 Linux - 大約包含 115 個補丁的 Linux 3.6。它在裝置硬體之間提供了一層抽象,幷包含所有必要的硬體驅動程式,例如相機、鍵盤、顯示器等。此外,核心還處理 Linux 擅長處理的所有事務,例如網路和各種裝置驅動程式,這些驅動程式簡化了與外圍硬體的介面。

在 Linux 核心之上是一組庫,包括開源 Web 瀏覽器引擎 WebKit、著名的庫 libc、SQLite 資料庫(一個用於儲存和共享應用程式資料的有用儲存庫)、播放和錄製音訊和影片的庫、負責網際網路安全的 SSL 庫等。

Android 庫

此類別包含那些特定於 Android 開發的基於 Java 的庫。此類別中的庫示例包括應用程式框架庫以及那些促進使用者介面構建、圖形繪製和資料庫訪問的庫。 Android 開發人員可以使用的一些關鍵核心 Android 庫的摘要如下:

  • android.app − 提供對應用程式模型的訪問,是所有 Android 應用程式的基石。

  • android.content − 促進內容訪問、釋出以及應用程式和應用程式元件之間的訊息傳遞。

  • android.database − 用於訪問內容提供者釋出的資料,幷包括 SQLite 資料庫管理類。

  • android.opengl − OpenGL ES 3D 圖形渲染 API 的 Java 介面。

  • android.os − 為應用程式提供對標準作業系統服務的訪問,包括訊息、系統服務和程序間通訊。

  • android.text − 用於在裝置顯示屏上呈現和操作文字。

  • android.view − 應用程式使用者介面的基本構建塊。

  • android.widget − 一組豐富的預構建使用者介面元件,例如按鈕、標籤、列表檢視、佈局管理器、單選按鈕等。

  • android.webkit − 一組旨在允許將 Web 瀏覽功能構建到應用程式中的類。

在介紹了 Android 執行時中的基於 Java 的核心庫之後,現在該將我們的注意力轉向此 Android 軟體堆疊層中包含的基於 C/C++ 的庫了。

Android 執行時

這是架構的第三個部分,位於自底向上數的第二層。本部分提供了一個名為Dalvik 虛擬機器的關鍵元件,這是一種專門為 Android 設計和最佳化的 Java 虛擬機器。

Dalvik VM 利用 Linux 核心功能(例如記憶體管理和多執行緒),這在 Java 語言中是固有的。Dalvik VM 使每個 Android 應用程式都可以在其自己的程序中執行,並擁有其自己的 Dalvik 虛擬機器例項。

Android 執行時還提供了一組核心庫,使 Android 應用程式開發人員能夠使用標準 Java 程式語言編寫 Android 應用程式。

應用框架

應用框架層以 Java 類形式為應用程式提供許多更高級別的服務。允許應用程式開發人員在其應用程式中使用這些服務。

Android 框架包括以下關鍵服務:

  • 活動管理器 (Activity Manager) − 控制應用程式生命週期和活動堆疊的所有方面。

  • 內容提供器 (Content Providers) − 允許應用程式釋出和與其他應用程式共享資料。

  • 資源管理器 (Resource Manager) − 提供對非程式碼嵌入式資源的訪問,例如字串、顏色設定和使用者介面佈局。

  • 通知管理器 (Notifications Manager) − 允許應用程式向用戶顯示警報和通知。

  • 檢視系統 (View System) − 一組可擴充套件的檢視,用於建立應用程式使用者介面。

應用程式

您將在頂層找到所有 Android 應用程式。您將編寫要在該層上安裝的應用程式。此類應用程式的示例包括通訊錄、瀏覽器、遊戲等。

廣告