下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Android系統(tǒng)架構(gòu)簡(jiǎn)介Android系統(tǒng)架構(gòu)簡(jiǎn)介目前Android的Linuxkernel控制包括安全、存儲(chǔ)器管理、進(jìn)程管理、網(wǎng)絡(luò)堆疊、驅(qū)動(dòng)程序模型等。下載Android源碼之前,先要安裝其構(gòu)建工具Repo來(lái)初始化源碼。Repo是Android用來(lái)輔助Git工作的一個(gè)工具。應(yīng)用程序Android系統(tǒng)是基于Linux內(nèi)核開(kāi)發(fā),使用Java作編程語(yǔ)言,使界面到功能,都有層出不窮的變化,其中Activity等同于J2ME的MIDlet,—個(gè)Activity類別負(fù)責(zé)創(chuàng)建視窗,一個(gè)活動(dòng)中的Activity就是在foreground(前景)模式,背景執(zhí)行的程序叫做Service。兩者之間透過(guò)由ServiceConnection和AIDL連結(jié),達(dá)到復(fù)數(shù)程序同時(shí)執(zhí)行的效果。如果執(zhí)行中的Activity全部畫(huà)面被其他Activity取代時(shí),該Activity便被停止,甚至被系統(tǒng)清除。View等同于J2ME的Displayable,程序人員可以透過(guò)View類別與“XMLlayout”檔將UI放置在視窗上,并可以利用View打造出所謂的Widgets,其實(shí)Widget只是View的一種,所以可以使用xml來(lái)設(shè)計(jì)layout。至于ViewGroup是各種layout的基礎(chǔ)抽象類別,ViewGroup之內(nèi)還可以有ViewGroup。View的構(gòu)造函數(shù)不需要在Activity中調(diào)用,但是Displayable的是必須的,在Activity中要通過(guò)findViewById()來(lái)從XML中獲取View,Android的View類的顯示很大程度上是從XML中讀取的。View與事件息息相關(guān),兩者之間透過(guò)Listener結(jié)合在一起,每一個(gè)View都可以注冊(cè)eventlistener,例如:當(dāng)View要處理用戶觸碰的事件時(shí),就要向Android框架注冊(cè)View.OnClickListener。另外還有Image等同于J2ME的BitMap。中介軟件操作系統(tǒng)與應(yīng)用程序的溝通橋梁,并用分為兩層:函數(shù)層和虛擬機(jī)器。Bionic是Android改良libc的版本。Android包含了Chrome瀏覽器引擎。Surfaceflinger是就2D或3D的’內(nèi)容顯示到螢?zāi)簧?。Android使用工具鏈為Google自制的BionicLibc。Android采用OpenCORE作為基礎(chǔ)多媒體框架。OpenCORE可分7大塊:PVPlayer、PVAuthor、Codec、PacketVideoMultimediaFramework(PVMF)、OperatingSystemCompatibilityLibrary(OSCL)、Common、OpenMAX。Android使用Skia為核心圖形引擎,搭配OpenGL/ES。Skia與LinuxCairo功能相當(dāng),但相較于LinuxCairo,Skia功能還只是陽(yáng)春型的。2005年Skia公司被Google收購(gòu),2007年初,SkiaGL源碼被公開(kāi),目前Skia也是GoogleChrome的圖形引擎。Android的多媒體資料庫(kù)采用SQLite資料庫(kù)系統(tǒng)。資料庫(kù)又分為共用資料庫(kù)及私用資料庫(kù)。用戶可透過(guò)ContentProvider類別獲取共用資料庫(kù)。Android的中間層多以Java實(shí)現(xiàn),4.4版之前使用特殊的Dalvik虛擬機(jī)器。Dalvik虛擬機(jī)器是一種“暫存器型態(tài)”的Java虛擬機(jī)器,變數(shù)皆存放于暫存器中,虛擬機(jī)器的指令相對(duì)減少。5.0版起改用AndroidRuntime(ART)。Dalvik虛擬機(jī)器可以有多個(gè)實(shí)例,每個(gè)Android應(yīng)用程序都用一個(gè)自屬的Dalvik虛擬機(jī)器來(lái)執(zhí)行,讓系統(tǒng)在執(zhí)行程序時(shí)可達(dá)到最優(yōu)化。Dalvik虛擬機(jī)器并非執(zhí)行Java字節(jié)碼,而是執(zhí)行一種稱為.dex格式的檔案。硬件抽像層(HAL)Android的硬件抽像層是能以封閉源碼形式提供硬件驅(qū)動(dòng)模塊。HAL的目的是為了把Androidframework與Linuxkernel隔開(kāi),讓Android不至過(guò)度依賴Linuxkernel,以達(dá)成“內(nèi)核獨(dú)立”(kernelindependent)的概念,也讓Androidframework的開(kāi)發(fā)能在不考量驅(qū)動(dòng)程序?qū)崿F(xiàn)的前提下進(jìn)行發(fā)展,以達(dá)到壟斷GPU市場(chǎng)的目的。HALstub是一種代理人的概念,stub是以*.so檔的形式存在。Stub向HAL“提供”操作函數(shù),并由Androidruntime向HAL獲取stub的操作,再回調(diào)這些操作函數(shù)。HAL里包含了許多的stub(代理人)。Runtime只要說(shuō)明“類型”,即modulelD,就可以獲取操作函數(shù)。編程語(yǔ)言Android是執(zhí)行于Linuxkernel之上,但并不是GNU/Linux。因?yàn)樵谝话鉍NU/Linux里支持的功能,Android大都沒(méi)有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了Android又以bionic取代Glibc、以Skia取代Cairo、再以opencore取代FFmpeg等等。Android為了達(dá)到商業(yè)應(yīng)用,必須移除被GNUGPL授權(quán)證所約束的部分,Android并沒(méi)有用戶層驅(qū)動(dòng)(userspacedriver)這種東西。所有的驅(qū)動(dòng)還是在內(nèi)核空間中,并以HAL隔開(kāi)版權(quán)問(wèn)題。bionic/libc/kernel/并非標(biāo)準(zhǔn)的內(nèi)核頭文件(kernelheaderfiles)。Android的內(nèi)核頭文件是利用工具由Linux內(nèi)核的頭文件所產(chǎn)生的,這樣做是為了保留常數(shù)、資料結(jié)構(gòu)與宏。Android的核心基于Linux,除了核心之外,則是中介層、數(shù)據(jù)庫(kù)元和用C/C++編寫(xiě)的API以及應(yīng)用程序
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年家政服務(wù)服務(wù)調(diào)整協(xié)議
- 2025年度木材行業(yè)綠色認(rèn)證及產(chǎn)品檢測(cè)服務(wù)合同范本4篇
- 2025年婚禮廣告合作協(xié)議
- 二零二五年度房地產(chǎn)項(xiàng)目納稅擔(dān)保及貸款擔(dān)保合同2篇
- 2025年度美容院養(yǎng)生產(chǎn)品研發(fā)與品牌孵化合同4篇
- 河南省二零二五年度事業(yè)單位勞動(dòng)合同范本修訂解讀3篇
- 中英對(duì)照專業(yè)離婚合同格式(2024年修訂版)一
- 2025年度智能速記設(shè)備采購(gòu)協(xié)議1分鐘速記單詞protocol企業(yè)采購(gòu)合同3篇
- 2025年度民辦學(xué)校教師學(xué)生心理健康教育與輔導(dǎo)聘用合同4篇
- 二零二五年度XX地區(qū)集體勞動(dòng)合同履行監(jiān)督與評(píng)價(jià)
- 2024年安全教育培訓(xùn)試題附完整答案(奪冠系列)
- 神農(nóng)架研學(xué)課程設(shè)計(jì)
- 文化資本與民族認(rèn)同建構(gòu)-洞察分析
- 自然科學(xué)基礎(chǔ)(小學(xué)教育專業(yè))全套教學(xué)課件
- 《工程勘察資質(zhì)分級(jí)標(biāo)準(zhǔn)和工程設(shè)計(jì)資質(zhì)分級(jí)標(biāo)準(zhǔn)》
- 小學(xué)語(yǔ)文閱讀教學(xué)落實(shí)學(xué)生核心素養(yǎng)方法的研究-中期報(bào)告
- 眼內(nèi)炎患者護(hù)理查房課件
- 唯物史觀課件
- 2021-2022學(xué)年四川省成都市武侯區(qū)部編版四年級(jí)上冊(cè)期末考試語(yǔ)文試卷(解析版)
- 中國(guó)傳統(tǒng)文化服飾文化
- 大氣污染控制工程 第四版
評(píng)論
0/150
提交評(píng)論