Android的系統(tǒng)架構(gòu)與其操作系統(tǒng)一樣,采用分層架構(gòu)。
Android分為四層,從上層到下層分別是應(yīng)用層,應(yīng)用框架層,系統(tǒng)運(yùn)行層和linux核心層。
1.應(yīng)用程序Android將與同一系列的核心應(yīng)用程序包一起發(fā)布,包括電子郵件客戶端,短信短信程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。
所有應(yīng)用程序都是用Java語言編寫的。
2.應(yīng)用程序框架開發(fā)人員還可以完全訪問核心應(yīng)用程序使用的API框架。
應(yīng)用程序的架構(gòu)設(shè)計(jì)簡化了組件重用;任何應(yīng)用程序都可以發(fā)布其功能塊,任何其他應(yīng)用程序都可以使用其已發(fā)布的功能塊(盡管遵循框架的安全限制)。
同樣,應(yīng)用程序重用機(jī)制也允許用戶輕松替換程序組件。
隱藏在每個應(yīng)用程序后面的是一組服務(wù)和系統(tǒng),包括; *豐富且可擴(kuò)展的視圖(視圖),可用于構(gòu)建應(yīng)用程序,包括列表,網(wǎng)格,文本框,按鈕,甚至可嵌入的Web瀏覽器。
*內(nèi)容提供商允許應(yīng)用程序訪問來自其他應(yīng)用程序(例如聯(lián)系人數(shù)據(jù)庫)的數(shù)據(jù),或共享他們自己的數(shù)據(jù)*資源管理器提供對非代碼資源的訪問,例如本地字符字符串,圖形和布局文件。
*通知管理器允許應(yīng)用程序在狀態(tài)欄中顯示自定義提示。
* Activity Manager用于管理應(yīng)用程序生命周期并提供通用的導(dǎo)航回退功能。
有關(guān)更多詳細(xì)信息以及如何從頭開始編寫應(yīng)用程序,請參閱如何編寫Android應(yīng)用程序。
3.系統(tǒng)運(yùn)行時1)庫Android包含一些可供Android系統(tǒng)中不同組件使用的C / C ++庫。
。
他們通過Android應(yīng)用程序框架為開發(fā)人員服務(wù)以下是一些核心庫:* System C庫 - 繼承自BSD的標(biāo)準(zhǔn)C系統(tǒng)庫(libc),專為基于嵌入式Linux的設(shè)備而定制。
*媒體庫 - 基于PacketVideo OpenCORE;該庫支持各種常用的音頻和視頻格式,用于播放和錄制,以及支持靜止圖像文件。
編碼格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。
* Surface Manager - 管理顯示子系統(tǒng),為多個應(yīng)用程序提供2D和3D層的無縫集成。
* LibWebCore - 支持Android瀏覽器和可嵌入Web視圖的新Web瀏覽器引擎。
* SGL - 基于OpenGL ES 1.0 API的底層2D圖形引擎* 3D庫;該庫可以使用硬件3D加速(如果可用)或使用高度優(yōu)化的3D軟加速。
* FreeType - 位圖和矢量字體顯示。
* SQLite - 一種可用于所有應(yīng)用程序的輕量級關(guān)系數(shù)據(jù)庫引擎。
2)Android運(yùn)行時庫Android包含一個核心庫,它提供了JAVA編程語言核心庫的大部分功能。
每個Android應(yīng)用程序都在自己的進(jìn)程中運(yùn)行,并具有單獨(dú)的Dalvik虛擬機(jī)實(shí)例。
Dalvik被設(shè)計(jì)為可以同時高效且高效地運(yùn)行多個虛擬系統(tǒng)的設(shè)備。
Dalvik虛擬機(jī)執(zhí)行(.dex)Dalvik可執(zhí)行文件,該文件可針對小內(nèi)存使用進(jìn)行優(yōu)化。
同時,虛擬機(jī)是基于寄存器的。
所有類都由JAVA編譯器編譯,然后由虛擬機(jī)通過“dx”轉(zhuǎn)換為.dex格式。
SDK中的工具。
Dalvik虛擬機(jī)依賴于Linux內(nèi)核的某些功能,例如線程機(jī)制和底層內(nèi)存管理機(jī)制。
4. Linux內(nèi)核Android的核心系統(tǒng)服務(wù)依賴于Linux 2.6內(nèi)核,如安全性,內(nèi)存管理,進(jìn)程管理,網(wǎng)絡(luò)協(xié)議棧和驅(qū)動程序模型。
Linux內(nèi)核還充當(dāng)硬件和軟件堆棧之間的抽象層。
2007.11.5 Android平臺發(fā)布2008.9.22 T-Mobile G1上市2009年第一季度G1銷量100萬2009.3 MWC華為發(fā)布Android手機(jī)Moto,三星,LG計(jì)劃于2009年下半年推出Android手機(jī)獲取Orange,Vodafone,O2,Telefonica支持2009年進(jìn)入上網(wǎng)本1開放谷歌與開放手機(jī)聯(lián)盟合作開發(fā)Android,這是一個由30多種技術(shù)和無線應(yīng)用組成的聯(lián)盟,包括中國移動,摩托羅拉,高通,HTC和T-Mobile。
Android是一個真正開放的移動設(shè)備平臺。
通過與運(yùn)營商,設(shè)備制造商,開發(fā)商和其他相關(guān)方的深入合作,建立標(biāo)準(zhǔn)化,開放的手機(jī)軟件平臺,形成移動行業(yè)的開放生態(tài)系統(tǒng)。
應(yīng)用程序之間的多功能性和互連性將得到最大程度的保持。
2應(yīng)用程序平等所有Android應(yīng)用程序都完全相同。
所有應(yīng)用程序都在核心引擎上運(yùn)行,核心引擎實(shí)際上是一個虛擬機(jī),為應(yīng)用程序和硬件資源之間的通信提供一組API。
留下這個核心引擎,Android中的所有其他東西都是“應(yīng)用程序”。
3無邊界應(yīng)用Android打破了應(yīng)用程序之間的界限,例如開發(fā)人員可以將Web上的數(shù)據(jù)與本地聯(lián)系人,日歷,位置信息相結(jié)合,為用戶創(chuàng)建新的用戶體驗(yàn)。
4快速簡便的應(yīng)用程序開發(fā)Android平臺為開發(fā)人員提供了大量有用的庫和工具,開發(fā)人員可以快速創(chuàng)建自己的應(yīng)用程序。
例如,在其他移動平臺上開發(fā)基于位置的應(yīng)用程序非常復(fù)雜,Android集成了Google Maps,開發(fā)人員可以使用幾行代碼實(shí)現(xiàn)地圖應(yīng)用程序。