1. 程式人生 > >Android 體系結構

Android 體系結構

      Android的系統架構採用了分層架構的思想,如圖1所示。從上層到底層共包括四層,分別是應用程式程式層、應用框架層、系統庫和android行時和Linux核心。


一 應用程式層

      該層提供一些核心應用程式包,例如電子郵件、簡訊、日曆、地圖、瀏覽器和聯絡人管理等。同時,開發者可以利用Java語言設計和編寫屬於自己的應用程式,而這些程式與那些核心應用程式彼此平等、友好共處。

     二 應用程式框架層

     該層是Android應用開發的基礎,開發人員大部分情況是在和她打交道。應用程式框架層包括活動管理器、視窗管理器、內容提供者、檢視系統、包管理器、電話管理器、資源管理器、位置管理器、通知管理器和XMPP服務十個部分。在Android平臺上,開發人員可以完全訪問核心應用程式所使用的API框架。並且,任何一個應用程式都可以釋出自身的功能模組,而其他應用程式則可以使用這些已釋出的功能模組。基於這樣的重用機制,使用者就可以方便地替換平臺本身的各種應用程式元件。

     三 系統庫和Android執行時

     系統庫包括九個子系統,分別是圖層管理、媒體庫、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android執行時包括核心庫和Dalvik虛擬機器,前者既相容了大多數Java語言所需要呼叫的功能函式,又包括了Android的核心庫,比如android.os、android.NET、android.media等等。後者是一種基於暫存器的java虛擬機器,Dalvik虛擬機器主要是完成對生命週期的管理、堆疊的管理、執行緒的管理、安全和異常的管理以及垃圾回收等重要功能。

     四 linux核心

     Android核心系統服務依賴於Linux2.6核心,如安全性、記憶體管理、程序管理、網路協議棧和驅動模型。Linux核心也是作為硬體與軟體棧的抽象層。驅動:顯示驅動、攝像頭驅動、鍵盤驅動、WiFi驅動、Audio驅動、flash記憶體驅動、BinderIPC)驅動、電源管理等。