讓我們將事前的憂慮,換為事前的思考和計(jì)劃吧!
整整一個(gè)三月,投了很多家,面試機(jī)會(huì)很少,目前還是0 實(shí)習(xí)Offer,要加油(? ?_?)?
android 系統(tǒng)架構(gòu)
Android系統(tǒng)分為五層,從上到下依次是:應(yīng)用層,應(yīng)用框架層,系統(tǒng)運(yùn)行庫(kù)層,硬件抽象層,Linux內(nèi)核層。

系統(tǒng)架構(gòu)
應(yīng)用層 System Apps
手機(jī)上自帶的軟件,比如相機(jī),音樂播放器等,我們可以在代碼中去調(diào)用。
應(yīng)用框架層 Java API Framework
四大組件,Notification,Resource,Window等,平常用的比較多的。
系統(tǒng)運(yùn)行庫(kù)層
- C/C++程序庫(kù),OpenGL ES 3D繪圖函數(shù)庫(kù),SQLite數(shù)據(jù)庫(kù)引擎,SSL安全套接層等
- Android運(yùn)行時(shí)庫(kù),
- 核心庫(kù):提供Java語(yǔ)言核心庫(kù)大多數(shù)功能,開發(fā)者可以使用Java語(yǔ)言來編寫Android應(yīng)用。
- ART/DVM:允許在有限的內(nèi)存中運(yùn)行多個(gè)虛擬機(jī)實(shí)例,每個(gè)實(shí)例作為一個(gè)獨(dú)立的Linux進(jìn)程。獨(dú)立的進(jìn)程保證了系統(tǒng)的穩(wěn)定性。
ART和DVM區(qū)別:DVM每次運(yùn)行,字節(jié)碼都需要即時(shí)編譯器Just In Time轉(zhuǎn)化為機(jī)器碼。在ART中,Android應(yīng)用的時(shí)候,會(huì)執(zhí)行一次預(yù)編譯Ahead of Time,將字節(jié)碼預(yù)先存儲(chǔ)到本地。
這就導(dǎo)致了:同樣的配置Android5.0 安裝應(yīng)用的速度比4.X慢,但是打開應(yīng)用的速度快。
硬件抽象層
對(duì)藍(lán)牙,照相機(jī)等硬件的抽象化,隱藏具體硬件的API,統(tǒng)一為一致的API,為上層提供支持。
Linux內(nèi)核層
基于Linux系統(tǒng),增加了Android專用的驅(qū)動(dòng),系統(tǒng)安全性,內(nèi)存管理,進(jìn)程管理等。
Android 系統(tǒng)源碼目錄
- 源碼下載地址:Http://pan.baidu.com/s/1ngsZs
- 在線閱讀地址:http://andriodxref.com
- 源碼閱讀工具:Android studio,sublime,source Insight
目錄結(jié)構(gòu):/
- Art : ART運(yùn)行環(huán)境
- bionic:C庫(kù)
- bootable:?jiǎn)?dòng)相關(guān)代碼
- build:編譯規(guī)則
- dalvik:Dalvik運(yùn)行環(huán)境
- device:設(shè)備相關(guān)配置
- frameworks:應(yīng)用程序框架,由Java和C++編寫
- hardware:硬件抽象
- sdk:sdk
- packages:應(yīng)用程序包
- tools:工具文件
- ... 略
應(yīng)用層部分/packages/
- apps 核心應(yīng)用程序
- experimental 第三方應(yīng)用程序
- inputmethods 輸入法目錄
- providers 內(nèi)容提供者目錄
- screensavers 屏幕保護(hù)
- service 通信服務(wù)
- wallpapers 壁紙
應(yīng)用框架層/frameworks/
- api 定義API
- core 核心庫(kù)
- docs 文檔
- include 頭文件
- libs 庫(kù)
- media 多媒體相關(guān)庫(kù)
- nfc-extras NFC相關(guān)
- opengl 2D/3D圖形API
- sax XML接收器
- telephony 電話通信管理
- vr vr相關(guān)
- cmds 重要指令
- data 字體和聲音數(shù)據(jù)
- keystore 數(shù)字簽名證書相關(guān)
- location 地理位置
- native 本地庫(kù)
- obex 藍(lán)牙
- packages 設(shè)置TTS,VPN
- services 系統(tǒng)服務(wù)
- wifi 無(wú)線網(wǎng)絡(luò)
/hardware/
手機(jī)廠商改動(dòng)最大的區(qū)域,更具不同的硬件,修改以保證向上層提供統(tǒng)一的Api。