概述
- Android基于Linux Kernel耸峭,但不是Linux,是Linux的一個變種淋纲;
- Android系統(tǒng)框架整體分為五層:Linux內(nèi)核層劳闹,硬件抽象層,系統(tǒng)運(yùn)行庫層洽瞬,應(yīng)用程序框架層和應(yīng)用程序?qū)樱?/li>
分層
ANDROID_Technology_Stack.png
Linux Kernel
- Android依賴于Linux 2.6版內(nèi)核提供的核心系統(tǒng)服務(wù)本涕,例如安全,內(nèi)存管理伙窃,進(jìn)程管理菩颖,網(wǎng)絡(luò)棧,驅(qū)動模塊等为障;
- Android對內(nèi)核進(jìn)行了增強(qiáng)
- 硬件時鐘(Alarm)
- 內(nèi)存分配與共享(Ashmeme)
- 低內(nèi)存管理器(Low Memory Killer)
- Kernel調(diào)試(Kernel Debugger)
- 日志設(shè)備(Logger)
- Android IPC機(jī)制(Binder)
- 電源管理(Power Management)
HAL
Native Libraries & Android Runtime
- 系統(tǒng)運(yùn)行庫層包括程序庫和Android運(yùn)行時兩部分晦闰;
- 程序庫
- 包含一些C/C++庫,可以被Android系統(tǒng)中的不同組件使用鳍怨,通過應(yīng)用程序框架為開發(fā)者提供服務(wù)呻右;
- Surface Manager:對顯示子系統(tǒng)進(jìn)行管理,并且為多個應(yīng)用程序提供了2D和3D圖層的無縫融合鞋喇;
- Media Framework:基于PacketVideo OpenCORE声滥,該庫支持多種格式的音頻和視頻的回放和錄制,同時支持靜態(tài)圖像文件确徙,包括MPEG4醒串,H.264执桌,MP3,AAC芜赌,AMR仰挣,JPG,PNG缠沈;
- SQLite:功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫引擎膘壶;
- Opengl ES:支持OpenGL ES1.x和OpenGL ES2.0,該庫可以使用硬件3D加速或者使用高度優(yōu)化的3D軟加速
- SGL:底層的2D圖形引擎洲愤,Android使用skia作為其核心的圖形引擎颓芭;
- FreeType:位圖(bitmap)和矢量(vector)字體顯示;
- Webkit:Web瀏覽器引擎柬赐;
- SSL:安全通信相關(guān)技術(shù)處理亡问,為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議;
- Libc:Android并沒有使用標(biāo)準(zhǔn)的glibc作為C庫肛宋,而是采用了Google自己開發(fā)的Bionic Libc州藕,專門為基于嵌入式Linux設(shè)備定制的;
- Android運(yùn)行時
- Android運(yùn)行時又包括核心庫和虛擬機(jī)兩部分酝陈;核心庫提供了Java語言核心庫的大多數(shù)功能床玻,主要通過JNI向應(yīng)用程序框架提供調(diào)用底層程序庫的接口;虛擬機(jī)為應(yīng)用程序的運(yùn)行環(huán)境沉帮;
Java API Framework
- 應(yīng)用程序框架層提供了可以完全訪問核心應(yīng)用程序鎖使用的API框架锈死;
- Activity Manager:管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能;
- Window Manager:管理所有開啟的窗口程序穆壕;
- Content Providers:使應(yīng)用可以訪問另一個應(yīng)用程序的數(shù)據(jù)待牵;
- View System:視圖系統(tǒng);
- Notification Manager:使應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息粱檀;
- Package Manager:管理所有安裝在Android系統(tǒng)中的應(yīng)用程序洲敢;
- Resource Manager:提供各種資源供應(yīng)用程序使用;
- 硬件服務(wù)
- Telephony Manager:電話撥打和接口等相關(guān)功能茄蚯;
- Location Manager:管理地圖服務(wù)的相關(guān)功能;
- Blutooth Service:藍(lán)牙服務(wù)的相關(guān)功能睦优;
- WIFI Service:WIFI服務(wù)的相關(guān)功能渗常;
- USB Service:USB服務(wù)的相關(guān)功能;
- Sensor Service:傳感器服務(wù)的相關(guān)功能汗盘;
Applications
- Android系統(tǒng)會包含一些系統(tǒng)App皱碘;
- 用戶可以安裝第三方App;
Linux
- Linux優(yōu)勢
- 強(qiáng)大的內(nèi)存管理和進(jìn)程管理隐孽;
- 基于權(quán)限的安全模式
- 支持共享庫癌椿;
- 經(jīng)過認(rèn)證的驅(qū)動模型健蕊;
- Linux是開源項(xiàng)目;