- 精通移動App測試實戰:技術、工具和案例
- 于涌 王磊 曹向志
- 1012字
- 2019-01-05 04:19:57
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所示,最下面即為該層。
- Photoshop+Camera Raw風光、人文、城市、星空攝影后期技法(全彩)
- Moodle 2 for Teaching 4/9 Year Olds Beginner's Guide
- Oracle Business Intelligence : The Condensed Guide to Analysis and Reporting
- 詳解AutoCAD 2022建筑設計(第6版)
- PHP應用開發與實踐
- Mastering phpMyAdmin 3.1 for Effective MySQL Management
- Premiere CC視頻編輯入門與應用
- MATLAB 2022a從入門到精通
- AI繪畫+LoRA模型訓練從新手到高手
- 跨境電商:速賣通搜索排名規則解析與SEO技術
- 原片蛻變:Photoshop CC商業修圖必修課
- Photoshop CS6淘寶美工完全實例教程(全視頻彩色版)
- 中老年學微信(圖解大字版)
- SAI+Photoshop漫畫繪制技法從入門到精通(第2版)
- 48小時精通SketchUp 8中文版草圖大師建模設計技巧