標籤:字串 標準庫 com 架構 view 編碼 driver jpg 動態
android的系統構架基於Linux核心安卓系統的組成包括應用程式層、應用程式架構層、函數庫與運行時、Linux核心。
-應用程式層
應用程式層包括一系列系統核心程式,如Phone(電話)、Browser(瀏覽器)應用、連絡人、簡訊。
-應用程式架構層
提供大量API,開發人員可以使用這些API架構來開發自己的應用程式,這樣可以簡化程式開發的架構設計。
Activity ManagerActive Manager,用來管理程式生命週期,並提供常用的導航退回功能
Window Manager視窗管理器,管理所有的視窗程序
Content Providers內容提供器,它可以讓一個應用訪問另一個應用的資料,或共用它們自己的資料
View System視圖管理器,用來構建應用程式,比如列表,表格,文字框,及按鈕等
Notification Manager通知管理器,用來設定在狀態列中顯示的提示資訊
Package Manager包管理器,用來對Android系統內的程式進行管理
Telephoney Manager電話管理器,用來對連絡人及通訊記錄等資訊進行管理
Resource Manager資源管理員,用來提供非代碼資源的訪問,例如本地字串,圖形及布局檔案等
Location Manager位置管理器,用來提供使用者的當前位置等資訊
XMPP Service,Service服務
-函數庫與運行時
函數庫主要提供Android程式運行時需要的一些類庫。這些類庫一般是使用C/C++語言編寫的。
libc: C語言標準庫,系統最底層的庫,C語言標準庫通過Linux系統調用 Surface Manager: 對顯示子系統的管理,並且為多個應用程式提 供了2D和3D圖層的無縫融合。 SQLite: 關聯式資料庫 OpenGL|ES: 3D效果的支援 Media Framework: 基於 PacketVideo OpenCORE;該庫支援多種常用的音頻、視頻格式回放和錄製,同時支援靜態影像檔。編碼格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG WebKit: Web瀏覽器引擎 SGL: 2D圖形引擎庫 SSL: 位於TCP/IP協議與各種應用程式層協議之間,為資料通訊提供支援 Free Type: 位元影像及向量圖
Android Runtime 安卓運行時,5.0之前包括運行庫和Dalvik虛擬機器兩部分(圖片沒有更新),5.0之後增加了ART,。核心庫中提供了JAVA語言核心庫中包含的大部分功能,虛擬機器負責運行程式,Dalvik虛擬機器(Just-In-Time模式,動態編譯執行--程式運行時編譯)專門針對行動裝置進行編寫,不僅效率更高,並且佔用更少的記憶體。ART(Ahead-Of-Time模式,先行編譯執行,安裝時先行編譯),將原本在程式運行時的編譯提前到安裝時編譯,加快了程式運行速率,但使用這種方式的程式比較佔用空間,因為帶有一部分編譯檔案。
- Linux核心
Android的核心系統服務(比如安全性,記憶體管理,進程管理,網路通訊協定棧和驅動模型等)基於Linux2.6核心
Linux核心同時也作為硬體和軟體棧之間的抽象層,作為行動裝置系統,Android更多的是需要一些與行動裝置相關的驅動程式。
Display Driver:顯示驅動,基於Linux的幀緩衝驅動
Camera Driver:照相機驅動,基於Linux的V412驅動
Bluetooth Driver:藍牙堆疊,基於IEEE 802.15.1標準的無線傳輸技術
Flash Memory Driver:Flash快閃記憶體驅動,基於MTD的Flash驅動程式
Binder(IPC) Driver:具有單獨的裝置節點,提供處理序間通訊的功能
USB Driver:USB介面驅動
Keypad Driver:鍵盤驅動,作為輸入裝置的鍵盤驅動
WiFi Driver:基於IEEE 802.11標準的驅動程式
Audio Drivers:音頻驅動,基於ALSA的進階Linux聲音體系驅動
Power Management:電源管理,比如電池電量等
Android學習之系統架構