Android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。Android分為四個層,從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運行庫層和Linux內(nèi)核層。
10年的響水網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整響水建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“響水網(wǎng)站設(shè)計”,“響水網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
一、應(yīng)用程序
Android會同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語言編寫的。
二、應(yīng)用程序框架
開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計簡化了組件的重用;任何一個應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性)。同樣,該應(yīng)用程序重用機制也使用戶可以方便的替換程序組件。
三、系統(tǒng)運行庫
Android 包含一些C/C++庫,這些庫能被Android系統(tǒng)中不同的組件使用。它們通過 Android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。
四、Linux內(nèi)核層
Android內(nèi)核是基于Linux 內(nèi)核的修改的內(nèi)核版本,它提供了用于支持Android平臺的設(shè)備驅(qū)動。
android系統(tǒng)架構(gòu)分從下往上為linux 內(nèi)核層、運行庫、應(yīng)用程序框架層、和應(yīng)用程序?qū)?/p>
linuxkernel:負(fù)責(zé)硬件的驅(qū)動程序、網(wǎng)絡(luò)、電源、系統(tǒng)安全以及內(nèi)存管理等功能。
libraries和 androidruntime:libraries:即c/c++函數(shù)庫部分,大多數(shù)都是開放源代碼的函數(shù)庫,例如webkit,該函數(shù)庫負(fù)責(zé) android網(wǎng)頁瀏覽器的運行,例如標(biāo)準(zhǔn)的c函數(shù)庫libc、openssl、sqlite等,當(dāng)然也包括支持游戲開發(fā)2dsgl和 3dopengles,在多媒體方面有mediaframework框架來支持各種影音和圖形文件的播放與顯示,例如mpeg4、h.264、mp3、 aac、amr、jpg和png等眾多的多媒體文件格式。android的runtime負(fù)責(zé)解釋和執(zhí)行生成的dalvik格式的字節(jié)碼。
applicationframework(應(yīng)用軟件架構(gòu)),java應(yīng)用程序開發(fā)人員主要是使用該層封裝好的api進(jìn)行快速開發(fā)。
applications:該層是java的應(yīng)用程序?qū)?,android內(nèi)置的googlemaps、e-mail、即時通信工具、瀏覽器、mp3播放 器等處于該層,java開發(fā)人員開發(fā)的程序也處于該層,而且和內(nèi)置的應(yīng)用程序具有平等的位置,可以調(diào)用內(nèi)置的應(yīng)用程序,也可以替換內(nèi)置的應(yīng)用程序。
上面的四個層次,下層為上層服務(wù),上層需要下層的支持,調(diào)用下層的服務(wù),這種嚴(yán)格分層的方式帶來的極大的穩(wěn)定性、靈活性和可擴展性,使得不同層的開發(fā)人員可以按照規(guī)范專心特定層的開發(fā)。
android應(yīng)用程序使用框架的api并在框架下運行,這就帶來了程序開發(fā)的高度一致性,另一方面也告訴我們,要想寫出優(yōu)質(zhì)高效的程序就必須對整個 applicationframework進(jìn)行非常深入的理解。精通applicationframework,你就可以真正的理解android的設(shè)計 和運行機制,也就更能夠駕馭整個應(yīng)用層的開發(fā)。
Android開發(fā)中,在打包發(fā)布應(yīng)用時會選擇應(yīng)用適配的cpu架構(gòu)平臺,在引用第三方庫時也遇到根據(jù)不同cpu架構(gòu)引入相應(yīng)的so包。Android主要包括一下cpu架構(gòu):
在Android系統(tǒng)上,每一個CPU架構(gòu)對應(yīng)一個ABI:
ABI是Application Binary Interface的縮寫,常表示兩個程序模塊之間的接口,且其中一個模塊常為機器碼級別的library或操作系統(tǒng)。它定義了函數(shù)庫的調(diào)用、應(yīng)用的二進(jìn)制文件(尤其是.so)如何運行在相應(yīng)的系統(tǒng)平臺上等細(xì)節(jié)。其中mips及mips64極少用于手機,出發(fā)點是高性能,主要用于路由器、貓。
從CPU發(fā)明到現(xiàn)在,有非常多種架構(gòu),從我們熟悉的X86,ARM,到不太熟悉的MIPS,IA64,它們之間的差距都非常大。但是如果從最基本的邏輯角度來分類的話,它們可以被分為兩大類,即所謂的“復(fù)雜指令集(CISC)”與“精簡指令集(RISC)”系統(tǒng)。
Intel和ARM處理器的第一個區(qū)別是,前者使用復(fù)雜指令集(CISC),后者使用精簡指令集(RISC)。屬于這兩種類中的各種架構(gòu)之間最大的區(qū)別,在于它們的設(shè)計者考慮問題方式的不同。
ARM架構(gòu)是一個32位精簡指令集RISC(Reduced Instruction Set Computing)處理器架構(gòu),其廣泛地使用在許多嵌入式系統(tǒng)設(shè)計。但在其他領(lǐng)域上也有很多作為,由于節(jié)能的特點,ARM處理器非常適用于移動通信領(lǐng)域,匹配其主要設(shè)計目標(biāo)為低成本、高性能、低耗電的特性。
ARM的優(yōu)勢不在于性能強大而在于效率,ARM采用RISC流水線指令集,在完成綜合性工作方面根本就處于劣勢,而在一些任務(wù)相對固定的應(yīng)用場合其優(yōu)勢就能發(fā)揮得淋漓盡致。ARM結(jié)構(gòu)的電腦是通過專用的數(shù)據(jù)接口使CPU與數(shù)據(jù)存儲設(shè)備進(jìn)行連接,所以ARM的存儲、內(nèi)存等性能擴展難以進(jìn)行(一般在產(chǎn)品設(shè)計時已經(jīng)定好其內(nèi)存及數(shù)據(jù)存儲的容量),所以采用ARM結(jié)構(gòu)的系統(tǒng),一般不考慮擴展?;痉钚小皦蛴镁秃谩钡脑瓌t。
x86 架構(gòu)是一個復(fù)雜指令集CISC(Complex Instruction Set Computer)處理器架構(gòu)。X86結(jié)構(gòu)的電腦無論如何都比ARM結(jié)構(gòu)的系統(tǒng)在性能方面要快得多、強得多。X86的CPU隨便就是1G以上、雙核、四核。X86結(jié)構(gòu)的電腦采用“橋”的方式與擴展設(shè)備(如:硬盤、內(nèi)存等)進(jìn)行連接,而且x86結(jié)構(gòu)的電腦出現(xiàn)了近30年,其配套擴展的設(shè)備種類多、價格也比較便宜,所以x86結(jié)構(gòu)的電腦能很容易進(jìn)行性能擴展,如增加內(nèi)存、硬盤等。
Android系統(tǒng)構(gòu)架是安卓系統(tǒng)的體系結(jié)構(gòu),android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu),共分為四層,從高到低分別是Android應(yīng)用層,Android應(yīng)用框架層,Android系統(tǒng)運行庫層和Linux內(nèi)核層。
Android系統(tǒng)構(gòu)架主要應(yīng)用于ARM平臺,但不僅限于ARM,通過編譯控制,在X86、MAC等體系結(jié)構(gòu)的機器上同樣可以運行。
中文名
安卓系統(tǒng)構(gòu)架
外文名
Android systematic framework
Android系統(tǒng)架構(gòu)分為四層架構(gòu),從高到低分別是應(yīng)用層,應(yīng)用框架層,系統(tǒng)運行層和Linux內(nèi)核層。
Android系統(tǒng)體系結(jié)構(gòu)
1.應(yīng)用層
Android會同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。它們一般都是使用Java進(jìn)行編寫。
2.應(yīng)用框架層
開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計簡化了組件的重用;任何一個應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性限制)。同樣,該應(yīng)用程序重用機制也使用戶可以方便的替換程序組件。