古詩詞大全網 - 成語查詢 - 什麽是android系統,android的發展以及android的平臺架構和特性

什麽是android系統,android的發展以及android的平臺架構和特性

Android平臺采用了整合的策略思想,包括底層Linux操作系統、中間層的中間件和上層的Java應用程序。下面我把Android的特性及其架構體系結構總結壹下。

壹、Android的平臺特性

Android平臺有如下特性:

1. 應用程序框架支持組件的重用與替換。

這樣我們可以把系統中不喜歡的應用程序刪除,安裝我們喜歡的應用程序。

2. Dalvik虛擬機專門為移動設備進行了優化。

Android應用程序將由Java編寫、編譯的類文件通過DX工具轉換成壹種後綴名為.dex的文件來執行。Dalvik虛擬機是基於寄存器的,相對於Java虛擬機速度要快很多。

3. 內部集成瀏覽器基於開源的WebKit引擎。

有了內置的瀏覽器,這將意味著WAP應用的時代即將結束,真正的移動互聯網時代已經來臨,手機就是壹臺“小電腦”,可以在網上隨意遨遊。

4. 優化的圖形庫包括2D和3D圖形庫,3D圖形庫基於OpenGL ES 1.0。

強大的圖形庫給遊戲開發帶來福音。在3G最為重要的的應用莫過於手機上網和手機遊戲。

5. SQLite用作結構化的數據存儲。

6. 多媒體支持包括常見的音頻、視頻和靜態印象文件格式

如MPEG4、H.264、MP3、AAC、AMR、JGP、PNG、GIF。

7. GSM電話(依賴於硬件)。

8. 藍牙(Bluetooth)、EDGE、3G、WiFi(依賴於硬件)。

9. 照相機、GPS、指南針和加速度計(依賴於硬件)。

10. 豐富的開發環境包括設備模擬器、調試工具、內存及性能分析圖表和Eclipse集成的開發環境插件。

Google提供了Android開發包SDK,其中包含了大量的類庫和開發工具,並且針對Eclipse的可視化開發插件ADT。

二、Android平臺架構

 從上圖我們可以看出,Android操作系統的體系結構可分為4層,由上到下依次是應用程序、應用程序框架、核心類庫和Linux內核,其中第三層還包括Android運行時的環境。下面分別來講解各個部分。

1. 程序應用

Android

連同壹個核心應用程序包壹起發布,該應用程序包包括E-mail客戶端、SMS短消息程序、日歷、地圖、瀏覽器、聯系人管理程序等。所有的應用程序都是用Java編寫的。

2. 應用程序框架

開發者完全可以訪問核心應用程序所使用的API框架。該應用程序框架架構用來簡化組件軟件的重用,任何壹個應用程序都可以發布它的功能塊並且任何其他的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。該應用程序重用機制使得組件可以被用戶替換。

以下所有的應用程序都由壹系列的服務和系統組成,包括:

1)壹個可擴展的視圖(Views)可以用來創建應用程序,包括列表(lists)、網絡(grids)、文本框(text

boxes)、按鈕(buttons),甚至是壹個可嵌入的Web瀏覽器。

2)內容管理器(Content Providers)使得應用程序可以訪問另壹個應用程序的數據(如聯系人數據庫),或者***享它們自己的數據。

3)壹個資源管理器(Resource Manager)提供非代碼資源的訪問,如本地字符串、圖形和分層文件(layout files)。

4)壹個通知管理器(Notification Manager)使得應用程序可以在狀態欄中顯示客戶通知信息。

5)壹個活動類管理器(Activity Manager)用來管理應用程序生命周期並提供常用的導航回退功能。

3. Android程序庫

Android包括壹個被Android系統中各種不同組件所使用的C/C++集庫。該庫通過Android應用程序框架為開發者提供服務。

以下是壹些主要的核心庫:

1)系統C庫:壹個從BSD繼承來的標準C系統函數庫(libc),專門為基於Embedded Linux的設備定制。

2)媒體庫:基於PacketVideo

OpenCORE;該庫支持錄放,並且可以錄制許多流行的音頻視頻格式,還有靜態映像文件包括MPEG4、H.264、MP3、AAC、JPG、PNG。

3)Surface Manager:對顯示子系統的管理,並且為多個應用程序提供2D和3D圖層的無縫融合。

4)LibWebCore:壹個最新的Web瀏覽器引擎,用來支持Android瀏覽器和壹個可嵌入的Web視圖。

5)SGL:壹個內置的2D圖形引擎。

6)3D libraries:基於OpenGL ES 1.0 APIs實現;該庫可以使用硬件3D加速(如果可用)或者使用高度優化的3D軟加速。

7)FreeType:位圖(bitmap)和向量(vector)字體顯示。

8)SQLite:壹個對於所以應用程序可用、功能強勁的輕型關系型數據庫引擎。

4. Android運行庫

Android包括了壹個核心庫,該核心庫提供了Java編程語言核心庫的大多數功能。

每壹個Android應用程序都在它自己的進程中運行,都擁有壹個獨立的Dalvik虛擬機實例。Dalvik是針對同時高效地運行多個VMs實現的。Dalvik虛擬機執行.dex的Dalvik可執行文件,該格式文件針對最小內存使用做了優化。該虛擬機是基於寄存器的,所有的類都是經由Java匯編器編譯,然後通過SDK中的DX工具轉化成.dex格式由虛擬機執行。

Dalvik虛擬機依賴於Linux的壹些功能,比如線程機制和底層內存管理機制。

5. Linux內核

Android的核心系統服務依賴於Linux內核,如安全性、內存管理、進程管理、網絡協議棧和驅動模型。Linux內核也同時作為硬件和軟件棧之間的硬件抽象層。