http://www.runoob.com/wp-content/uploads/2015/06/androidmap.pdfandroid
Android系統是由Andy Rubin建立的,後來被Google收購了;最先的版本是:Android 1.1版本
而如今最新的版本是今年5.28,Google I/O大會上推出的Android M,有趣的是Android系統的命名都是以點心來命名的,下述表是15個Android版本名稱,對應API號以及發佈時間!瀏覽器
系統版本名稱 | API版本號 | 發佈時間 |
---|---|---|
Android 1.5:Cupcake:紙杯蛋糕 | 3 | 2009.4.30 |
Android 1.6:Donut:甜甜圈 | 4 | 2009.9.15 |
Android 2.0/2.0.1/2.1:Eclair:鬆餅 | 5/6/7 | 2009.10.26 |
Android 2.2/2.2.1:Froyo:凍酸奶 | 8 | 2010.5.20 |
Android 2.3:Gingerbread:薑餅 | 9 | 2010.12.7 |
Android 3.0:Honeycomb:蜂巢 | 11 | 2011.2.2 |
Android 3.1:Honeycomb:蜂巢 | 12 | 2011.5.11 |
Android 3.2:Honeycomb:蜂巢 | 13 | 2011.7.13 |
Android 4.0:Ice Cream Sandwich:冰激凌三文治 | 14 | 2011.10.19 |
Android 4.1:Jelly Bean:果凍豆 | 16 | 2012.6.28 |
Android 4.2:Jelly Bean:果凍豆 | 17 | 2012.10.30 |
Android 4.3:Jelly Bean:果凍豆 | 18 | 2013.7.25 |
Android 4.4:KitKat:奇巧巧克力 | 19 | 2013.11.01 |
Android 5.0:Donut:棒棒糖 | 21 | 2014.10.16 |
Android M:預覽版 | 22 | 2015.5.28 |
好了,除了上面這些公共版本外,固然還有一些其餘的版本,截止2015.1,各個版本的市場份額以下:安全
看完上面的信息,咱們可能有這樣的一個疑問:
那麼多的系統版本,咱們開發的時候要針對哪一個版本進行開發?
這就是做爲一個Android必須面對的Android的」碎片化」問題了,而這個問題又分爲兩個:
①系統碎片化:咱們開發App時可能須要作到低版本兼容,好比,最低兼容至2.3版本;因爲各類Rom定製的盛行,國人都喜歡對原生系統作一些更改,這致使了在原生系統上可行,而在定製Rom上不可行的問題,好比相機調用~
②屏幕碎片化:市面上各類各樣屏幕尺寸的手機,4.3寸,4.5寸,4.7寸,5.0寸,5.3寸…等等,除了手機外,還有Android平板,因此開發時咱們可能要處理這個屏幕適配的問題,固然,剛學咱們並不須要去考慮這些複雜的東西,後續實際開發咱們再來深究!架構
- 應用程序框架支持組件的重用與替換(app發佈時遵照了框架的約定,其餘app也可使用該模塊)
- Dalvik虛擬機:專門爲移動設備優化
-集成的瀏覽器:開源的WebKit引擎- SQLite結構化的數據存儲
- 優化的圖形庫,多媒體支持,GSM電話技術,藍牙等
- 採用軟件疊層方式構建
- Application(應用程序層)
咱們通常說的應用層的開發就是在這個層次上進行的,固然包括了系統內置的一組應用程序,使用的是Java語言- Application Framework(應用程序框架層)
不管系統內置或者咱們本身編寫的App,都須要使用到這層,好比咱們想弄來電黑名單,自動掛斷電話,咱們就須要用到電話管理(TelephonyManager)
經過該層咱們就能夠很輕鬆的實現掛斷操做,而不須要關心底層實現- Libraries(庫) + Android Runtime(Android運行時)
Android給咱們提供了一組C/C++庫,爲平臺的不一樣組件所使用,好比媒體框架;而Android Runtime則由Android核心庫集 + Dalvik虛擬機構成,Dalvik虛擬機是針對移動設備的虛擬機,它的特色:不須要很快的CPU計算速度和大量的內存空間;而每一個App都單獨地運行在單獨的Dalvik虛擬機內每一個app對於一條Dalvik進程)而他的簡單運行流程如:
- Linux內核
這裏就是涉及底層驅動的東西了,一些系統服務,好比安全性,內存管理以及進程管理等
本節對Android的歷史背景以及現狀進行了瞭解,而後簡單分析了Android的系統特性以及系統架構,這些概念性的東西,咱們瞭解瞭解便可,而下一節咱們將開始Android環境的搭建!app