背景相關與系統架構分析
1.Android背景與目前的狀況
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 |
4 | 2009.9.15 | |
#5/6/7 | 2009.10.26 | |
8 | #2010.5.20 | |
9 | 2010.12.7 | |
11 | 2011.2.2 | |
12 | 2011.5.11 | |
13 | 2011.7.13 | |
14 | 2011.10.19 | |
16 | 2012.6.28 | |
17 | 2012.10.30 | |
18 | 2013.7.25 | |
19 | 2013.11.01 | |
21 | #2014.10.16 |
好了,除了上面這些公開版本外,當然還有一些其他的版本,截止2015.1,各個版本的市佔率如下:
#平台架構圖:
- 應用程式框架支援
元件的重複使用與替換(app發佈時遵守了框架的約定,其他app也可以使用該模組)
#Dalvik虛擬機:專門為行動裝置最佳化 -整合的瀏覽器:開源的WebKit引擎
#SQLite結構化的資料儲存
- 優化的圖形庫,多媒體支援,GSM電話技術,藍牙等
- #採用
軟體疊層方式建構
3.本節小結:本節對Android的歷史背景以及現狀進行了了解,然後簡單分析了Android的系統特性以及系統架構,這些概念性的東西,我們了解了解即可,而下一節我們將開始Android環境的搭建!
Application(應用程式層)我們一般說的應用層的開發就是在這個層次上進行的,當然包括了系統內建的一組應用程序,使用的是Java語言
Application Framework(應用程式框架層)無論系統內建或我們自己寫的App,都需要使用到這層,例如我們想弄來電黑名單,自動掛斷電話,我們就需要用到電話管理(TelephonyManager) 透過該層我們就可以很輕鬆的實作掛斷操作,而不需要關心底層實作
Libraries(庫) + Android Runtime(Android運行時)Android為我們提供了一組C/C++函式庫,為平台的不同元件所使用,例如媒體框架;而Android Runtime則由Android核心庫集+ Dalvik虛擬機構成,Dalvik虛擬機是針對行動裝置的虛擬機,它的特點:不需要很快的CPU計算速度和大量的記憶體空間;而每個App都單獨地運行在單獨的Dalvik虛擬機內每個app對於一條Dalvik進程)而他的簡單運行流程如:
##Linux核心這裡就是涉及底層驅動的東西了,一些系統服務,比如安全性,內存管理以及進程管理等
#