微網(wǎng)站開發(fā)技術(shù)架構(gòu)競(jìng)價(jià)推廣運(yùn)營(yíng)
一、安卓
- 安卓系統(tǒng)架構(gòu):從上至下,依次是應(yīng)用層、應(yīng)用框架層、系統(tǒng)運(yùn)行庫(kù)層和Linux內(nèi)核層
- 應(yīng)用層(system app):系統(tǒng)內(nèi)置的應(yīng)用程序及非系統(tǒng)級(jí)的應(yīng)用程序都屬于應(yīng)用層,負(fù)責(zé)與用于進(jìn)行交互,一般都用java或者kotlin來(lái)開發(fā)
- 應(yīng)用框架層(java api framework):為應(yīng)用層提供所需要的Java api,也就是我們常說(shuō)的安卓系統(tǒng)的Java源碼,這一層由Java來(lái)開發(fā),所以叫做Java framework,這里主要有View system(視圖系統(tǒng),即基本組件)、內(nèi)容提供器和各種管理器
- 系統(tǒng)運(yùn)行(native)層:主要包含C/C++程序庫(kù),和Android運(yùn)行時(shí)庫(kù),這些C/C++程序庫(kù)可以直接被框架層所使用。Android運(yùn)行時(shí)庫(kù)分為核心庫(kù)和ART,核心庫(kù)提供了Java語(yǔ)言核心庫(kù)的大多數(shù)功能,這樣開發(fā)者可以用Java來(lái)編寫Android應(yīng)用。而ART則是專門為移動(dòng)設(shè)備定制的Java虛擬機(jī),它是由C++編寫,用來(lái)運(yùn)行Java程序,Android系統(tǒng)允許同時(shí)有多個(gè)ART實(shí)例,一個(gè)進(jìn)程一個(gè)虛擬機(jī),一個(gè)APP崩潰不會(huì)影響其他APP
- Linux內(nèi)核層:Android系統(tǒng)是基于Linux內(nèi)核基礎(chǔ)上,添加了Android專有的驅(qū)動(dòng),比如Binder(Android實(shí)現(xiàn)跨進(jìn)程通信的方式)
- 安卓安全機(jī)制:
- 進(jìn)程沙箱隔離機(jī)制,Android程序在安裝時(shí)被賦予獨(dú)特的用戶標(biāo)識(shí)(UDID),并永久保持;應(yīng)用程序及其運(yùn)行的