1、應(yīng)用層(System Apps)
系統(tǒng)內(nèi)置的應(yīng)用程序以及非系統(tǒng)級的應(yīng)用程序都是應(yīng)用層,負(fù)責(zé)與用戶直接進(jìn)行交互,通常都是用java語言編寫琼梆。
2、應(yīng)用框架層(Java API Framework)
提供應(yīng)用程序所需的API窿吩,java語言編寫茎杂,提供的組件有:
Activity Manager(活動管理器):管理各個(gè)應(yīng)用程序的生命周期,導(dǎo)航回退功能
Location Manager(位置管理器):提供地理位置和定位功能服務(wù)
Package Manager(包管理器):管理所有安裝在Android系統(tǒng)的應(yīng)用程序
Notification Manager(通知管理器):讓應(yīng)用程序在狀態(tài)欄中自定義提示信息
Resource Manager(資源管理器):提供圖片纫雁、布局文件煌往、顏色文件等
Telephone Manager(電話管理器):管理所有的移動設(shè)備功能
Window Manager(窗口管理器):管理所有開啟的窗口程序
ContentProvider(內(nèi)容提供者):使得不同應(yīng)用程序之間可以共享數(shù)據(jù)
VIew System(視圖系統(tǒng)):構(gòu)建應(yīng)用程序的基本組件
3、系統(tǒng)運(yùn)行庫層(Native)
C/C++程序庫
OpenGL ES:3D繪圖函數(shù)庫
Libc:從BSD集成來的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫轧邪,專門為基于嵌入式Linux的設(shè)備定制
Media Framework:多媒體庫刽脖,支持多種常用的音頻、視頻格式錄制和回放
SQLite: 輕型的關(guān)系型數(shù)據(jù)引擎
SGL:底層的2D圖形渲染引擎
SSL:安全套接層忌愚,是一種為網(wǎng)絡(luò)通訊提供安全以及數(shù)據(jù)完整性的安全協(xié)議
FreeType:可一直的字體引擎曲管,它提供統(tǒng)一的接口來訪問多種字體格式文件
Android運(yùn)行時(shí)庫
運(yùn)行時(shí)庫分為核心庫和ART,Android5.0之前是Dalvik虛擬機(jī)硕糊。Dalvik虛擬機(jī)(DVM)專為移動設(shè)備定制院水,允許在有限的內(nèi)存中同時(shí)運(yùn)行多個(gè)實(shí)例。DVM為JIT(即時(shí)編譯器)简十,而ART為AOT(預(yù)編譯)
4檬某、硬件抽象層(HAL)
硬件抽象層是位于操作系統(tǒng)內(nèi)核與硬件電路之間的接口層,簡單來講螟蝙,就是將控制硬件的動作放在了硬件抽象層恢恼。
5、Linux內(nèi)核層(Linux Kernel)
Android的核心系統(tǒng)服務(wù)基于LInux內(nèi)核胰默,在此基礎(chǔ)上添加了部分Android專用的驅(qū)動场斑。系統(tǒng)的安全性漓踢、內(nèi)存管理、進(jìn)程管理和簸、網(wǎng)絡(luò)協(xié)議棧和驅(qū)動模型等都依賴于該內(nèi)核彭雾。