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