Android架構


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

Linux核心

底層是Linux - Linux 3.6,大約有115個修補程式。 這提供了裝置硬體之間的抽象級別,它包含了所有必要的硬體驅動程式,如相機,鍵盤,顯示器等。此外,核心還處理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虛擬機器使每個Android應用程式都能在自己的進程中執行,並擁有自己的Dalvik虛擬機器範例。

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

應用框架

應用程式框架層以Java類的形式向應用程式提供了許多更高階別的服務。 應用程式開發人員可以在他們的應用程式中使用這些服務。

Android框架包含以下關鍵服務 -

  • 活動管理器 - 控制應用程式生命週期和活動堆疊的所有方面。
  • 內容提供者 - 允許應用程式發布和與其他應用程式共用資料。
  • 資源管理器 - 提供對非程式碼嵌入式資源(如字串,顏色設定和使用者介面布局)的存取。
  • 通知管理器 - 允許應用程式向使用者顯示警報和通知。
  • 檢視系統 - 用於建立應用程式使用者介面的一組可延伸的檢視。

應用程式

在頂層是所有的Android應用程式。編寫的應用程式來安裝在這個圖層上。 這樣的應用程式的例子是聯絡人,瀏覽器,遊戲等。