国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Android - Android App的運(yùn)行環(huán)境及Android系統(tǒng)架構(gòu)概覽

Android App的運(yùn)行環(huán)境及Android系統(tǒng)架構(gòu)概覽

2021-06-24 13:48iam_wingjay Android

這篇文章主要介紹了Android App的運(yùn)行環(huán)境及Android系統(tǒng)架構(gòu)概覽,并對(duì)應(yīng)用程序進(jìn)程間隔離機(jī)制等知識(shí)點(diǎn)作了介紹,需要的朋友可以參考下

android基于linux內(nèi)核,面向移動(dòng)終端的操作系統(tǒng)。主要包括以下幾個(gè)方面:

application framework:
這一層為應(yīng)用開發(fā)者提供了豐富的應(yīng)用編程接口,如 activity manager,content provider,notification manager,以及各種窗口 widget 資源等。所有的app都是運(yùn)行在這一層之上。
dalvik 虛擬機(jī):
dalvik vm采用寄存器架構(gòu),而不是jvm的棧架構(gòu),更適于移動(dòng)設(shè)備。java源代碼經(jīng)過編譯成為.class字節(jié)碼文件,然后由谷歌提供的 dx工具將其轉(zhuǎn)化為dalvik可識(shí)別的.dex文件。
linux kernel:
每個(gè)app應(yīng)用程序由一個(gè)獨(dú)立的dalvik vm來解釋執(zhí)行,而一個(gè)dalvik vm實(shí)例對(duì)應(yīng)一個(gè)linux內(nèi)核進(jìn)程。
所以說,每個(gè)app之間完全隔離,資源獨(dú)立。使得每個(gè)app更加安全,但也不利于進(jìn)程間通信

Android App的運(yùn)行環(huán)境及Android系統(tǒng)架構(gòu)概覽

android官方介紹

Android App的運(yùn)行環(huán)境及Android系統(tǒng)架構(gòu)概覽

android 系統(tǒng)架構(gòu)

application framework
大部分開發(fā)者十分關(guān)心這一層。你必須要了解開發(fā)者會(huì)接觸到的所有api接口,大部分接口都與硬件抽象層(hal層)接口一一對(duì)應(yīng),而且它們會(huì)告訴你如何實(shí)現(xiàn)你自己的驅(qū)動(dòng)。

binder ipc
binder進(jìn)程間通信機(jī)制幫助application framework層能夠跨進(jìn)程并且調(diào)用系統(tǒng)級(jí)服務(wù)。從根本上講,它幫助高級(jí)別的framework的api接口與android系統(tǒng)服務(wù)進(jìn)行交互。

系統(tǒng)服務(wù)
大部分application framework api具備的功能都要依靠與某種系統(tǒng)服務(wù)進(jìn)行通信從而操作底層硬件。系統(tǒng)服務(wù)根據(jù)不同的功能分成了若干模塊組件,例如window manager, search service, or notification manager。系統(tǒng)服務(wù)主要包含兩大塊:系統(tǒng)和媒體。前者對(duì)應(yīng)的服務(wù)包含如window manager 或 notification manager,后者對(duì)應(yīng)的服務(wù)都與播放或記錄媒體有關(guān)。
硬件抽象層hardware abstraction layer (hal)
硬件抽象層可以作為一個(gè)標(biāo)準(zhǔn)接口讓android系統(tǒng)調(diào)用設(shè)備驅(qū)動(dòng)層而不用管這些驅(qū)動(dòng)和硬件時(shí)如何實(shí)現(xiàn)的。


linux kernel
大多數(shù)情況下,你自己開發(fā)設(shè)備驅(qū)動(dòng)和開發(fā)linux設(shè)備驅(qū)動(dòng)時(shí)一樣的。android挑選了一個(gè)特定的linux內(nèi)核版本,這個(gè)版本包含了如wakelocks(一個(gè)內(nèi)存管理系統(tǒng)),binder ipc驅(qū)動(dòng)和其他一些特征,這些特征對(duì)于像android一樣的移動(dòng)嵌入式平臺(tái)都非常重要。你也可以根據(jù)自己的需求選擇合適的kernel版本,只要它能支持一些必要的屬性如binder ipc驅(qū)動(dòng)等。但是,我們?nèi)匀煌扑]你使用最新版本的android內(nèi)核。

相關(guān)知識(shí)點(diǎn):
應(yīng)用程序進(jìn)程間隔離機(jī)制:

android系統(tǒng)包括四層架構(gòu):從底層往上依次是linux kernel層、c/c++函數(shù)庫與android運(yùn)行時(shí)環(huán)境(dalvik vm等)層、android framwork框架層、應(yīng)用程序?qū)印F渲?,android運(yùn)行時(shí)環(huán)境層類似java里的jre層,主要用來運(yùn)行java程序,不過此處的虛擬機(jī)是dalvik虛擬機(jī)。每一個(gè)android應(yīng)用程序都運(yùn)行在單獨(dú)的davlik進(jìn)程里,dalvik虛擬機(jī)針對(duì)同時(shí)高效運(yùn)行多個(gè)虛擬機(jī)而優(yōu)化,在這一層實(shí)現(xiàn)了應(yīng)用程序的進(jìn)程間隔離。

dalvik虛擬機(jī)與jvm區(qū)別:

jvm直接從.class或jar包中加載字節(jié)碼解釋運(yùn)行,dalvik通過dx工具將.class文件編譯為.dex文件(dalvik executable)來運(yùn)行。
jvm采用棧結(jié)構(gòu),而dalvik采用寄存器結(jié)構(gòu),更適于移動(dòng)設(shè)備。
為何android要采用dalvik虛擬機(jī)而不是jvm呢?

大多數(shù)虛擬機(jī)(包括jvm)都是基于棧的,而dalvik虛擬機(jī)則是基于寄存器的,性能更好,不過也導(dǎo)致硬件通用性略差;
運(yùn)行專有.dex文件。dx工具對(duì).class文件編譯時(shí),去除里面的冗余信息,并把所有.class文件整合到一個(gè)文件中,提高了性能。同時(shí)dx工具還會(huì)對(duì).dex文件進(jìn)行性能優(yōu)化。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99福利视频 | 中文字幕一区二区三区四区不卡 | 狠狠av | 91精品一区二区三区久久久久久 | 国产视频一区在线 | jizz亚洲女人高潮大叫 | 日韩a视频 | 欧美精品久久 | 中文av一区二区 | 日韩午夜影院 | 日本中文字幕在线观看 | 亚洲欧美日韩在线 | 九九热精品视频在线观看 | 一区二区三区免费 | 成人精品一区二区三区 | 97伦理在线 | 国产精选一区二区三区不卡催乳 | 欧美精品久久久 | 色a在线| 成人欧美一区二区三区在线播放 | 亚洲国产精品一区 | 久久久久综合 | 国产精品成人在线观看 | 国产一区不卡视频 | 成人av视| 色爱综合网 | 精品久久国产 | 日韩三级 | 久久国产亚洲精品 | 日韩不卡在线 | 日韩中文字幕在线观看 | 精品国产一二三区 | 自拍偷拍欧美 | 日韩精品在线免费观看 | 四虎影音 | 欧美一级在线 | 免费av在线| 成人教育av | 一区二区亚洲 | 一级片在线观看 | 色九九 |