Android平臺及其架構(部分轉載)

一.Android的系統架構

1.      應用程序

    同Android系統一起發佈的核心應用程序,如email 客戶端,SMS 短消息程序,日曆,地圖,瀏覽器,聯繫人管理程序等。 這些應用程序都是用java編寫的。

2.      應用程序框架

     開發者可以用它開發應用,其中包括:

• 豐富而又可擴展的視圖(Views):可以用來構建應用程序, 它包括列表(lists),網格(grids), 文本框(text boxes),按鈕( buttons), 甚至可嵌入的web 瀏覽器。

• 內容提供器(Content Providers):使得應用程序可以訪問另一個應用程序的數據(如聯繫人數據庫), 或者共享它們自己的數據

• 資源管理器(Resource Manager):提供非代碼資源的訪問,如本地字符串,圖形,佈局文件( layoutfiles )

• 通知管理器(Notification Manager): 使得應用程序可以在狀態欄中顯示自定義的提示信息

• 活動管理器( Activity Manager):用來管理應用程序生命週期並提供常用的導航回退功能

當我們開發Android應用程序時,就是面向底層的應用程序框架進行的。從這個意義上來講,Android系統上的應用程序都是完全平等的,不管是Android系統提供的程序,還是普通開發者提供的程序,都是可以訪問Andorid提供個的API框架。

3.     類庫

         一些C/C++核心庫,方便開發者進行應用的開發。一般而言,Android應用開發者不能直接調用這些類庫,但是可以通過應用程序框架來調用這些庫。

• 系統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 的核心繫統服務: 安全機制、內存管理、進程管理、網絡、硬件驅動

201205~1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章