我們專(zhuān)注於高端品牌網(wǎng)站創(chuàng)意設(shè)計(jì)與開(kāi)發(fā)
Android是Goodle公司推出的一款智慧型手機(jī)平臺(tái),該平臺(tái)本身是基於Linux內(nèi)核的,圖1-1展示了系統(tǒng)的架構(gòu);
圖 1-1 Android系統(tǒng)架構(gòu)
從上面圖中可以看出,Android系統(tǒng)大體可分為四層,從下往上依次是:
Linux內(nèi)核層:包含了Linux內(nèi)核和一些驅動(dòng)模塊(比如USB驅動(dòng)、Camera驅動(dòng)、藍(lán)牙驅動(dòng)等)。目前Android2.2(代號(hào)為Froyo)基於Linux內(nèi)核2.6版本。
Libraries層:這一層提供動(dòng)態(tài)庫(kù)(也叫共享庫(kù))、Android運(yùn)行時(shí)庫(kù)、Dalvik虛擬機(jī)等,從程式語言角度來(lái)說(shuō),這一層大部分都是用C或C++寫(xiě)的,所以也可以簡(jiǎn)單的把它看成是Native層。
Framework層:這一層大部分用Java語言編寫(xiě),它是Android平臺(tái)上Java世界的基石。
Applications層:與用戶(hù)直接交互的就是這些應(yīng)用程式,它們都是用Java開(kāi)發(fā)的。
從上面的介紹可看出,Android系統(tǒng)的最大特點(diǎn)之一就是搭建了一個(gè)被廣(guǎng)大Java開(kāi)發(fā)者熱捧的Java世界,但這個(gè)世界並不是空中樓閣,它的運(yùn)轉(zhuǎn)依賴於另一個(gè)被Google極力隱藏的Native世界,兩(liǎng)個(gè)世界的交互關(guān)係可用圖1-2表示:
圖 1-2 Java世界和Native世界交互
從上圖可知:
Java雖具有與平臺(tái)無(wú)關(guān)的特性,但Java和具體平臺(tái)之間的隔離卻是由JNI層來(lái)實(shí)現(xiàn)的,Java是通過(guò)JNI層調(diào)用Linux OS中的系統(tǒng)調(diào)用來(lái)完成對(duì)應(yīng)的功能的,例如創(chuàng)建一個(gè)文件或一個(gè)Socket等。
除了Java世界外,還有一個(gè)核心的Native世界,它為整個(gè)系統(tǒng)高效和平穩(wěn)的運(yùn)行提供了強(qiáng)有力的支持,一般而言,Java世界經(jīng)由JNI層通過(guò)IPC方式與Native世界交互,而Android平臺(tái)上最為神秘的IPC方法就是Binder了,除此之外,Socket也是常用的IPC方式。這些內(nèi)容在後面的代碼中可以分析到。
Native層包括init、Audio系統(tǒng)(包括AudioTrack、AudioFlinger和AudioPolicyService)、Surface系統(tǒng)(包括Surface和SurfaceFlinger)、常用類(lèi)(包括RefBase、sp、wp等)、Vold和Rild。
Java Framework層包括Zygote、System_server以及Jaca中的常用類(lèi)(包括Handlier和Looper等)
Java Application層包括MediaProvider和Phone。
Android系統(tǒng),深圳系統(tǒng)開(kāi)發(fā),深圳網(wǎng)頁(yè)設(shè)計(jì)
文章引用:http://www.szymweb.com/new/115.html
本站文章為深圳網(wǎng)站建設(shè)·源美網(wǎng)絡(luò)原創(chuàng)策劃(huà),如有版權(quán)糾紛或者違規(guī)問(wèn)題,請聯(lián)繫我們刪除,謝謝!
上一篇: 技術(shù)與電影
下一篇: 人類(lèi)的身份危機(jī)
售後保障
承諾任何問(wèn)題1小時(shí)內(nèi)解決數(shù)據(jù)備份
更安全、更高效、更穩(wěn)定價(jià)格公道精準(zhǔn)
項(xiàng)目經(jīng)理精準(zhǔn)報(bào)價(jià)不弄虛作假合作無(wú)風(fēng)險(xiǎn)
重合同講信譽(yù),無(wú)效全額退款