国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Manuel de développement Android / 背景相關(guān)與系統(tǒng)架構(gòu)分析

背景相關(guān)與系統(tǒng)架構(gòu)分析

1.Android背景與當(dāng)前的狀況

Android系統(tǒng)是由Andy Rubin創(chuàng)建的,后來(lái)被Google收購(gòu)了;最早的版本是:Android 1.1版本 而現(xiàn)在最新的版本是今年5.28,Google I/O大會(huì)上推出的Android M,有趣的是Android系統(tǒng)的命名都是以點(diǎn)心來(lái)命名的,下述表是15個(gè)Android版本名稱,對(duì)應(yīng)API號(hào)以及發(fā)布時(shí)間!

系統(tǒng)版本名稱API版本號(hào)發(fā)布時(shí)間
Android 1.5:Cupcake:紙杯蛋糕32009.4.30
Android 1.6:Donut:甜甜圈42009.9.15
Android 2.0/2.0.1/2.1:Eclair:松餅5/6/72009.10.26
Android 2.2/2.2.1:Froyo:凍酸奶82010.5.20
Android 2.3:Gingerbread:姜餅92010.12.7
Android 3.0:Honeycomb:蜂巢112011.2.2
Android 3.1:Honeycomb:蜂巢122011.5.11
Android 3.2:Honeycomb:蜂巢132011.7.13
Android 4.0:Ice Cream Sandwich:冰激凌三文治142011.10.19
Android 4.1:Jelly Bean:果凍豆162012.6.28
Android 4.2:Jelly Bean:果凍豆172012.10.30
Android 4.3:Jelly Bean:果凍豆182013.7.25
Android 4.4:KitKat:奇巧巧克力192013.11.01
Android 5.0:Lollipop:棒棒糖212014.10.16
Android M:預(yù)覽版222015.5.28

好了,除了上面這些公共版本外,當(dāng)然還有一些其他的版本,截止2015.1,各個(gè)版本的市場(chǎng)份額如下:


Android系統(tǒng)份額分布圖(截止2015年1月)

看完上面的信息,我們可能有這樣的一個(gè)疑問(wèn): 那么多的系統(tǒng)版本,我們開(kāi)發(fā)的時(shí)候要針對(duì)哪個(gè)版本進(jìn)行開(kāi)發(fā)? 這就是作為一個(gè)Android必須面對(duì)的Android的"碎片化"問(wèn)題了,而這個(gè)問(wèn)題又分為兩個(gè): ①系統(tǒng)碎片化:我們開(kāi)發(fā)App時(shí)可能需要做到低版本兼容,比如,最低兼容至2.3版本;由于各種Rom定制的盛行,國(guó)人都喜歡對(duì)原生系統(tǒng)做一些更改,這導(dǎo)致了在原生系統(tǒng)上可行,而在定制Rom上不可行的問(wèn)題,比如相機(jī)調(diào)用~ ②屏幕碎片化:市面上各種各樣屏幕尺寸的手機(jī),4.3寸,4.5寸,4.7寸,5.0寸,5.3寸...等等,除了手機(jī)外,還有Android平板,所以開(kāi)發(fā)時(shí)我們可能要處理這個(gè)屏幕適配的問(wèn)題,當(dāng)然,剛學(xué)我們并不需要去考慮這些復(fù)雜的東西,后續(xù)實(shí)際開(kāi)發(fā)我們?cè)賮?lái)深究!

2.Android系統(tǒng)特性與平臺(tái)架構(gòu)

系統(tǒng)特性:

  • 應(yīng)用程序框架支持組件的重用與替換(app發(fā)布時(shí)遵守了框架的約定,其他app也可以使用該模塊)

  • Dalvik虛擬機(jī):專門為移動(dòng)設(shè)備優(yōu)化 -集成的瀏覽器:開(kāi)源的WebKit引擎

  • SQLite結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)

  • 優(yōu)化的圖形庫(kù),多媒體支持,GSM電話技術(shù),藍(lán)牙等

  • 采用軟件疊層方式構(gòu)建

平臺(tái)架構(gòu)圖:

Android平臺(tái)架構(gòu)圖

架構(gòu)的簡(jiǎn)單理解:

  1. Application(應(yīng)用程序?qū)?我們一般說(shuō)的應(yīng)用層的開(kāi)發(fā)就是在這個(gè)層次上進(jìn)行的,當(dāng)然包括了系統(tǒng)內(nèi)置的一組應(yīng)用程序,使用的是Java語(yǔ)言

  2. Application Framework(應(yīng)用程序框架層)無(wú)論系統(tǒng)內(nèi)置或者我們自己編寫的App,都需要使用到這層,比如我們想弄來(lái)電黑名單,自動(dòng)掛斷電話,我們就需要用到電話管理(TelephonyManager) 通過(guò)該層我們就可以很輕松的實(shí)現(xiàn)掛斷操作,而不需要關(guān)心底層實(shí)現(xiàn)

  3. Libraries(庫(kù)) + Android Runtime(Android運(yùn)行時(shí))Android給我們提供了一組C/C++庫(kù),為平臺(tái)的不同組件所使用,比如媒體框架;而Android Runtime則由Android核心庫(kù)集 + Dalvik虛擬機(jī)構(gòu)成,Dalvik虛擬機(jī)是針對(duì)移動(dòng)設(shè)備的虛擬機(jī),它的特點(diǎn):不需要很快的CPU計(jì)算速度和大量的內(nèi)存空間;而每個(gè)App都單獨(dú)地運(yùn)行在單獨(dú)的Dalvik虛擬機(jī)內(nèi)每個(gè)app對(duì)于一條Dalvik進(jìn)程)而他的簡(jiǎn)單運(yùn)行流程如:Dalvik的運(yùn)行流程

  4. Linux內(nèi)核這里就是涉及底層驅(qū)動(dòng)的東西了,一些系統(tǒng)服務(wù),比如安全性,內(nèi)存管理以及進(jìn)程管理等

3.本節(jié)小結(jié):

本節(jié)對(duì)Android的歷史背景以及現(xiàn)狀進(jìn)行了了解,然后簡(jiǎn)單分析了Android的系統(tǒng)特性以及系統(tǒng)架構(gòu),這些概念性的東西,我們了解了解即可,而下一節(jié)我們將開(kāi)始Android環(huán)境的搭建!