Android系統(tǒng)體系結(jié)構(gòu)
系統(tǒng)特性:
- 應(yīng)用程序框架支持組件的重用與替換(app發(fā)布時遵守了框架的約定,其他app也可以使用該模塊)
- Dalvik虛擬機:專門為移動設(shè)備優(yōu)化-集成的瀏覽器,開源的WebKit引擎
- SQLite結(jié)構(gòu)化的數(shù)據(jù)存儲
- 優(yōu)化的圖形庫,多媒體支持,GSM電話技術(shù),藍(lán)牙等
-
采用軟件疊層方式構(gòu)建
Android系統(tǒng)體系結(jié)構(gòu).jpg
架構(gòu)理解:
-
Application(應(yīng)用程序?qū)?
我們一般說的應(yīng)用層的開發(fā)就是在這個層次上進(jìn)行的,當(dāng)然包括了系統(tǒng)內(nèi)置的一組應(yīng)用程序,使用的是Java語言 -
Application Framework(應(yīng)用程序框架層)
無論系統(tǒng)內(nèi)置或者我們自己編寫的App,都需要使用到這層,比如我們想弄來電黑名單,自動掛斷電話,我們就需要用到電話管理(TelephonyManager) 通過該層我們就可以很輕松的實現(xiàn)掛斷操作,而不需要關(guān)心底層實現(xiàn) -
Libraries(庫) + Android Runtime(Android運行時)
Android給我們提供了一組C/C++庫,為平臺的不同組件所使用,比如媒體框架;而Android Runtime則由Android核心庫集 + Dalvik虛擬機構(gòu)成,Dalvik虛擬機是針對移動設(shè)備的虛擬機,它的特點:不需要很快的CPU計算速度和大量的內(nèi)存空間;而每個App都單獨地運行在單獨的Dalvik虛擬機內(nèi)每個app對于一條Dalvik進(jìn)程)而他的簡單運行流程如:
運行流程圖.jpg -
Linux內(nèi)核
這里就是涉及底層驅(qū)動的東西了,一些系統(tǒng)服務(wù),比如安全性,內(nèi)存管理以及進(jìn)程管理等
Android四大核心組件
-
Activity
Apps中的窗體,一般情況下一個窗體就是一個Activity -
ContentProvider
內(nèi)容提供者,提供跨程序資源訪問 -
Service
服務(wù),沒有界面的程序 -
BroadcastReceiver
廣播接收器,一種全局的監(jiān)聽器,用于監(jiān)聽系統(tǒng)全局的廣播消息
-
Intent
意圖,組件之間的連接紐帶

