首頁技術(shù)文章正文

Android+物聯(lián)網(wǎng)培訓(xùn)之Android的體系結(jié)構(gòu)

更新時(shí)間:2017-07-22 來源:黑馬程序員Android+物聯(lián)網(wǎng)培訓(xùn)學(xué)院 瀏覽量:

Android的體系結(jié)構(gòu)

1. Android的簡(jiǎn)介

1996年萬維網(wǎng)(WWW)開始流行,通過瀏覽器我們可以查看圖文混合的網(wǎng)頁,但此時(shí)最好的移動(dòng)手機(jī)設(shè)備只能用來查看簡(jiǎn)單的文字,為了解決這個(gè)問題,相關(guān)部門發(fā)布了WAP(Wireless Application protocal)技術(shù),提供了移動(dòng)互聯(lián)網(wǎng)的入口,該技術(shù)使用了WML(Wireless markup language,即無線標(biāo)記語言),這種語言的實(shí)質(zhì)是:精簡(jiǎn)版的html,但是這種方法不僅訪問速度慢而且費(fèi)用成本高。2000年之后隨著技術(shù)的快速發(fā)展,特別是2005年之后設(shè)備硬件成本的下降使手機(jī)智能化成為可能,這一時(shí)刻Android智能手機(jī)也隨之發(fā)展壯大,如下圖1-1為Android發(fā)展的歷史圖:
圖1-1所示
至2008年以后,Android的進(jìn)化速度也越來越快,各種不同版本的SDK也隨之迅速推出,以下是不同版本SDK的簡(jiǎn)單信息,如下圖1-2所示:
圖1-2Android發(fā)展進(jìn)程圖

2. Android的系統(tǒng)結(jié)構(gòu)

Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),至上而下可以分為4個(gè)層次,各個(gè)層次相對(duì)獨(dú)立但又密不可分,如下圖1-3所示:
圖1-3Android的系統(tǒng)結(jié)構(gòu)
 
1. Android以Linux2.6為系統(tǒng)服務(wù)提供最底層的支持,這些服務(wù)包括如下幾點(diǎn):
l 安全管理(Security Management)
l 內(nèi)存管理(Memory Management)
l 進(jìn)程管理(Process Management)
l 電源管理(Power Management)
l 硬件驅(qū)動(dòng)(Driver Model)
2. 庫(kù)(Libraries)和運(yùn)行環(huán)境(Android RunTime)。
(1) Libraries提供運(yùn)行時(shí)的支持環(huán)境,庫(kù)中的各個(gè)模塊都是一些開源項(xiàng)目,各個(gè)開源項(xiàng)目的功能如下:
l Surface Manager:提供與上層顯示相關(guān)的支持庫(kù)。
l Media Framework:基于PackeVideo OpenCore,支持多種常用的多媒體的播放以及錄制。
l SQLite:一個(gè)對(duì)所有應(yīng)用程序開發(fā)的輕量級(jí)數(shù)據(jù)庫(kù)。
l OpenGL|ES:3D界面以及快速渲染的引擎。
l FreeType:字體引擎。
l WebKit:瀏覽器內(nèi)核。
l SGL:2D圖像引擎。
l SSL:安全管理相關(guān)。
l Libc:標(biāo)準(zhǔn)的系統(tǒng)C庫(kù)。
(2) 運(yùn)行環(huán)境
Android程序是用java寫的,java的運(yùn)行需要java虛擬機(jī)。為了解決這個(gè)問題,Android工程師自定義了一個(gè)虛擬機(jī)(Dalvik Virtual Machine),為手機(jī)應(yīng)用程序提供運(yùn)行環(huán)境。
3. 應(yīng)用程序框架(Application Framework)。普通開發(fā)者之所以能夠調(diào)用底層的服務(wù)是因?yàn)樵摽蚣転槲覀兲峁┝私y(tǒng)一的底層訪問接口,即API。該框架提供了對(duì)底層的多種訪問接口,如Activity Manager提供進(jìn)程管理,Window Manager提供窗體管理等,這一層我們稱之為中間件。
4. 應(yīng)用程序(Applications)是和用戶交互的一個(gè)層次,用戶可以看得見的并且可以操作的。作為一個(gè)智能手機(jī),Android本身提供了桌面(Home),聯(lián)系人(Contacts),打電話(Phone),瀏覽器(Browser)等常用的基本功能。
通過對(duì)系統(tǒng)架構(gòu)的學(xué)習(xí),我們可以認(rèn)為Android操作系統(tǒng)是一個(gè)手機(jī)設(shè)備的軟件棧,它包括上層的關(guān)鍵應(yīng)用程序,中間層的中間件,以及下層的一個(gè)完整的Linux操作系統(tǒng)。


本文版權(quán)歸黑馬程序員Android+物聯(lián)網(wǎng)培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:黑馬程序員Android+物聯(lián)網(wǎng)培訓(xùn)學(xué)院
首發(fā):android.itheima.com
分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!