標籤:
一.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的系統架構
1. 應用程式
同Android系統一起發布的核心應用程式,如email 用戶端,SMS 短訊息程式,日曆,地圖,瀏覽器,連絡人管理程式等。(JAVA 編寫)
2. 應用程式架構
開發人員可以用它開發應用,其中包括:
• 豐富而又可擴充的視圖(Views):可以用來構建應用程式, 它包括列表(lists),網格(grids), 文字框(text boxes),按鈕( buttons), 甚至可嵌入的網頁瀏覽器。
• 內容提供器(Content Providers):使得應用程式可以訪問另一個應用程式的資料(如連絡人資料庫), 或者共用它們自己的資料
• 資源管理員(Resource Manager):提供非代碼資源的訪問,如本地字串,圖形,布局檔案( layoutfiles )
• 通知管理器(Notification Manager): 使得應用程式可以在狀態列中顯示自訂的提示資訊
• Active Manager( Activity Manager):用來管理應用程式生命週期並提供常用的導航回退功能
- 類庫
一些C/C++核心庫,方便開發人員進行應用的開發。
• 系統C 庫(libc):專門為基於embedded linux的裝置定製的
• 媒體庫:支援多種常用的音頻、視頻格式回放和錄製,同時支援靜態影像檔。編碼格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG
• SurfaceManager :對顯示子系統的管理,並且為多個應用程式提供了2D和3D 圖層的無縫融合
• webkit/LibWebCore :網頁瀏覽引擎,支援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
Android特性與系統架構