一.Android特性
• 應用程序框架支持組件的重用與替換
• Dalvik 虛擬機專爲移動設備優化
• 集成的瀏覽器基於開源的WebKit 引擎
• 優化的圖形庫包括定製的2D 圖形庫,基於OpenGL ES 1.0的3D 圖形庫
• SQLite 用做結構化的數據存儲
• 多媒體支持包括常見的音頻、視頻和靜態圖像格式(如MPEG4, H.264, MP3, AAC, AMR, JPG, PNG , GIF)
• GSM 電話技術(依賴於硬件)
• 藍牙Bluetooth, EDGE, 3G, 和WiFi(依賴於硬件)
• 照相機,GPS,指南針,和加速度計(accelerometer)(依賴於硬件)
• 豐富的開發環境包括設備模擬器,調試工具,內存及性能分析圖表,和Eclipse 集成開發環境插件
二.Android的系統架構html
1. 應用程序linux
同Android系統一塊兒發佈的核心應用程序,如email 客戶端,SMS 短消息程序,日曆,地圖,瀏覽器,聯繫人管理程序等。(JAVA 編寫)android
2. 應用程序框架web
開發者能夠用它開發應用,其中包括:數據庫
• 豐富而又可擴展的視圖(Views):能夠用來構建應用程序, 它包括列表(lists),網格(grids), 文本框(text boxes),按鈕( buttons), 甚至可嵌入的web 瀏覽器。瀏覽器
• 內容提供器(Content Providers):使得應用程序能夠訪問另外一個應用程序的數據(如聯繫人數據庫), 或者共享它們本身的數據安全
• 資源管理器(Resource Manager):提供非代碼資源的訪問,如本地字符串,圖形,佈局文件( layoutfiles )網絡
• 通知管理器(Notification Manager): 使得應用程序能夠在狀態欄中顯示自定義的提示信息架構
• 活動管理器( Activity Manager):用來管理應用程序生命週期並提供經常使用的導航回退功能框架
一些C/C++核心庫,方便開發者進行應用的開發。
• 系統C 庫(libc):專門爲基於embedded linux的設備定製的
• 媒體庫:支持多種經常使用的音頻、視頻格式回放和錄製,同時支持靜態圖像文件。編碼格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG
• SurfaceManager :對顯示子系統的管理,而且爲多個應用程序提供了2D和3D 圖層的無縫融合
• webkit/LibWebCore :Web 瀏覽引擎,支持Android 瀏覽器和一個可嵌入的web 視圖
• SGL:底層的2D圖形引擎
• 3D libraries : 基於OpenGL ES 1.0 APIs 實現的3D引擎
• FreeType :位圖(bitmap)和矢量(vector)字體顯示
• SQLite :輕型關係型數據庫引擎
4. Android 運行時環境
• Android 核心庫:提供了JAVA庫的大多數功能
• Dalvik 虛擬機:依賴於linux 內核的一些功能,好比線程機制和底層內存管理機制。同時虛擬機是基於寄存器的,Dalvik 採用簡練、高效的byte code 格式運行,它可以在低資耗和沒有應用相互干擾的狀況下並行執行多個應用,每個Android 應用程序都在它本身的進程中運行,都擁有一個獨立的Dalvik 虛擬機實例。Dalvik 虛擬機中可執行文件爲.dex文件,該格式文件針對小內存使用作了優化。全部的類都經由JAVA 編譯器編譯,而後經過SDK中的"dx" 工具轉化成.dex 格式由虛擬機執行。
5. Linux 內核
Linux 內核做爲硬件和軟件棧之間的抽象層。Android 的核心繫統服務: 安全機制、內存管理、進程管理、網絡、硬件驅動
轉自:http://www.cnblogs.com/bravestarrhu/archive/2012/05/02/Android.html
http://mobile.51cto.com/android-235496.htm
http://www.cnblogs.com/hzbook/archive/2012/08/16/2642007.html