Android在中國,被叫做安卓,此名是來源於其英文發音。廣義來講,其實它就是一款運行在手機上的操作系統。它的開發商Google提供瞭相應的SDK包給開發者,這樣我們才能夠使用其API和工具在安卓系統的平臺上開發相應的手機端軟件。
特性
應用程序框架 包含瞭一系列可復用的通用組件
Dalvik虛擬機 手機端優化的Java程序運行時環境
集成瀏覽器 基於開源項目Webkit引擎
流暢的圖形畫面 自定義的二位圖形庫;基於OpenGL ES 1.0規范(可選的硬件加速)的三維圖形
SQLite 結構化的數據庫
多媒體支持 支持音頻,視頻和各種圖片格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
GSM電話 傳統的GSM網絡通信能力(硬件相關)
藍牙,EDGE, 3G 和WiFi(硬件相關)
攝像頭,GPS定位,羅盤,加速度(硬件相關)
多種開發環境 設備模擬器,調試工具,內存和性能調優,Eclipse IDE的插件
Android架構
應用程序
Android系統中已經裝配一些核心的應用程序:郵件客戶端,短信程序,日歷,地圖,瀏覽器,聯系等,所有的應用程序是用Java語言編寫的。
應用框架
通過提供瞭開放的開發平臺,開發者可以在上面創造各種豐富的程序。
開發者擁有所有對框架接口的訪問權限。
豐富並且可擴展的視圖 列表,網格,文本框,按鈕,嵌入式瀏覽器
Content Providers 幫助應用程序訪問其他程序的數據(例如聯系人)或者共享自己的數據
A Resource Manager 幫助訪問其他的資源,本地化字符串,圖片,視圖文件
A Notification Manager
幫助所有程序在狀態欄中顯示自定義的通知
An Activity Manager
管理應用程序的生命周期,並提供公用的歷史後退導航棧
庫
Android包含瞭一組C/C++的庫,這些庫是被各種各樣的系統組件使用的。
系統C庫 標準的C系統庫(libc)的BSD系的實現,應用於嵌入式Linux的設備
媒體庫 基於PacketVideo OpenCORE; 支持各種音視頻格式的制作和播放
皮膚管理器 管理系統和各種應用程序的顯示
LibWebCore web瀏覽器引擎
SGL 底層的二維圖形引擎
三維庫 基於OpenGL ES 1.0 接口的實現庫;
FreeType 位圖和適量字體渲染
SQLite 強大的輕量級的關系型數據庫引擎
Android運行時
Androi包含瞭一組使用Java語言編寫的核心庫,它們提供瞭大部分功能。
每一個應用,系統都會提供單獨的DVM虛擬機實例,運行在各自獨立的進程中。
Dalvik VM虛擬機運行的是.dex格式的文件,這種文件已經根據最小化內存的原則進行過優化。
Java編譯器首先將Java代碼編譯成.class字節碼,然後dx工具將前面生成的.class文件編譯成.dex文件。
Dalvik VM虛擬機運行在Linux內核上,由Linux內核提供瞭線程和底層級別的內存管理。
Linux內核
Android依賴在Linux 2.6版本,這個版本的內核提供瞭一些核心的系統服務,安全,內存管理,進程管理,網絡協議棧,驅動模型。內核也充當著在硬件和軟件之間的抽象層。