官术网_书友最值得收藏!

1.2 Android系統架構

從圖1-1中我們不難發現Android的系統架構采用了分層的架構,分為4個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和Linux內核層。那么它們每層都是用來做什么的呢?

1.應用程序層

應用層是用Java語言編寫的運行在Android平臺上的程序,比如一些手機游戲和基于手機端的應用等,如圖1-1所示,最上面的Applications層。

圖1-1 Android系統架構圖

2.應用程序框架層

應用程序框架層是編寫Google發布的核心應用時所使用的API框架,開發人員可以使用這些框架來開發自己的應用程序,這樣可以簡化程序開發的架構設計,如圖1-1所示,第二層,即Application Framework層,其提供的主要API框架如下。

活動管理器:主要用來管理應用程序聲明周期,并提供常用的導航退回功能。

窗口管理器:主要用來管理所有的窗口程序。

內容提供器:它可以讓一個應用訪問另一個應用的數據,或共享它們自己的數據。

視圖管理器:主要用來構建應用程序,比如列表、表格、文本框及按鈕等。

通知管理器:主要用來設置在狀態欄中顯示的提示信息。

包管理器:主要用來對Android系統內的程序進行管理。

電話管理器:主要用來對聯系人及通話記錄等信息進行管理。

資源管理器:主要用來提供非代碼資源的訪問,例如本地字符串、圖形及布局文件等。

位置管理器:主要用來提供使用者的當前位置等信息,如GPRS定位。

XMPP Service:XMPP服務。

3.系統運行庫層

系統運行庫層主要提供Android程序運行時需要的一些類庫,這些類庫一般是使用C/C++語言編寫的。另外,該層還包含了Android運行庫。如圖1-1所示,第三層,系統運行庫層中包含的主要庫如下。

libc:C語言標準庫,系統最底層的庫,C語言標準庫通過Linux系統來調用。

Surface Manager:主要管理多個應用程序同時執行時各個程序之間的顯示與存取,并且為多個應用程序提供2D和3D圖層的無縫融合。

SQLite:關系數據庫。

OpenGL|ES:3D效果的支持。

Media Framework:Android系統多媒體庫,該庫支持多種常見格式的音頻、視頻的回放和錄制。

WebKit:Web瀏覽器引擎。

SGL:2D圖形引擎庫。

SSL:位于TCP/IP協議與各種應用層協議之間,為數據通信提供支持。

FreeType:位圖及矢量庫。

系統運行庫層中還包含了一個Dalvik虛擬機,相對于桌面系統和服務器系統運行的虛擬機而言,它不需要很快的CPU計算速度和大量的內存空間。因此,它非常適合在移動終端上使用。

4.系統內核層

Android的核心系統服務基于Linux 2.6內核,該內核擁有安全性、內存管理、進程管理、網絡協議棧和驅動模型等。同時它也作為硬件和軟件棧之間的抽象層,而Android更多的是需要一些與移動設備相關的驅動程序,比如顯示驅動、USB接口驅動、藍牙驅動、電源驅動、Wi-Fi驅動等,如圖1-1所示,最下面即為該層。

主站蜘蛛池模板: 阳泉市| 冷水江市| 兴安盟| 东兴市| 包头市| 泸溪县| 敖汉旗| 略阳县| 垣曲县| 德庆县| 河池市| 贵州省| 山东| 集贤县| 镇雄县| 仁怀市| 苍南县| 盐山县| 重庆市| 临邑县| 高清| 伊宁县| 兰考县| 万全县| 龙山县| 怀柔区| 同江市| 三台县| 潞城市| 天台县| 咸丰县| 和田市| 友谊县| 株洲市| 江油市| 田阳县| 常宁市| 罗定市| 岳池县| 贡嘎县| 和静县|