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