Android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。Android分為四個(gè)層,從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫(kù)層和Linux內(nèi)核層。
成都創(chuàng)新互聯(lián)公司長(zhǎng)期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為申扎企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè),申扎網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
一、應(yīng)用程序
Android會(huì)同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語(yǔ)言編寫(xiě)的。
二、應(yīng)用程序框架
開(kāi)發(fā)人員也可以完全訪問(wèn)核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計(jì)簡(jiǎn)化了組件的重用;任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過(guò)得遵循框架的安全性)。同樣,該應(yīng)用程序重用機(jī)制也使用戶可以方便的替換程序組件。
三、系統(tǒng)運(yùn)行庫(kù)
Android 包含一些C/C++庫(kù),這些庫(kù)能被Android系統(tǒng)中不同的組件使用。它們通過(guò) Android 應(yīng)用程序框架為開(kāi)發(fā)者提供服務(wù)。
四、Linux內(nèi)核層
Android內(nèi)核是基于Linux 內(nèi)核的修改的內(nèi)核版本,它提供了用于支持Android平臺(tái)的設(shè)備驅(qū)動(dòng)。
品牌型號(hào):Redmibook Pro 15
系統(tǒng):Windows10
Android是美國(guó)谷歌公司開(kāi)發(fā)的移動(dòng)操作系統(tǒng)。安卓(Android)是一種基于Linux內(nèi)核(不包含GNU組件)的自由及開(kāi)放源代碼的操作系統(tǒng)。主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由美國(guó)Google公司和開(kāi)放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開(kāi)發(fā)。Android操作系統(tǒng)最初由Andy Rubin開(kāi)發(fā),主要支持手機(jī)。
Android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。從架構(gòu)圖看,Android分為四個(gè)層,從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫(kù)層和Linux內(nèi)核層。Android開(kāi)發(fā)四大組件分別是:活動(dòng)(Activity): 用于表現(xiàn)功能。服務(wù)(Service): 后臺(tái)運(yùn)行服務(wù),不提供界面呈現(xiàn)。廣播接收器(BroadcastReceiver):用于接收廣播。內(nèi)容提供商(Content Provider): 支持在多個(gè)應(yīng)用中存儲(chǔ)和讀取數(shù)據(jù),相當(dāng)于數(shù)據(jù)庫(kù)。
本篇內(nèi)容主要目的在從整體上了解Android 龐大的系統(tǒng)架構(gòu),根據(jù)系統(tǒng)架構(gòu)中的不同模塊和分層找到和梳理一條學(xué)習(xí)路徑,這樣能更好的切入到不同的模塊學(xué)習(xí),直到最后全部打通。
接下來(lái)我們從兩個(gè)角度來(lái)分析
下面這張圖是Android官方提供的一張Android系統(tǒng)的預(yù)覽圖。
從上面這個(gè)圖中我們可以知道,Android系統(tǒng)一共有5部分組成,他們分別是
從縱向?qū)蛹?jí)架構(gòu)的角度來(lái)看,我們了解了android系統(tǒng)經(jīng)典5層結(jié)構(gòu),他們?nèi)鐗敬u一般縱向堆疊在一起。但是其實(shí)每一層都包含了大量的子模塊子系統(tǒng),并不能體現(xiàn)出Android整個(gè)系統(tǒng)的內(nèi)部架構(gòu)、運(yùn)行機(jī)理,以及各個(gè)模塊之間是如何銜接與配合工作的。接下來(lái)借鑒了gityuan總結(jié)的一張系統(tǒng)進(jìn)程圖,從系統(tǒng)進(jìn)程的角度來(lái)看Android系統(tǒng)的工作原理。
Loader層: 引導(dǎo)kernel啟動(dòng)
Kernel層: Android內(nèi)核空間
Native層: 進(jìn)入用戶空間
Framework層: 給app層提供api以及系統(tǒng)服務(wù),
App層: 各種各樣的應(yīng)用程序apk
參考文獻(xiàn):