Android構(gòu)架 1. Application 應(yīng)用程序?qū)樱河肑ava語言編寫的運(yùn)行在虛擬機(jī)的程序 用戶直接使用的功能,,其基本應(yīng)用比如:電話、聯(lián)系人,、短信,、郵件等,還有無數(shù)第三方應(yīng)用,。 2. Application Framework 應(yīng)用架構(gòu)層:編寫Google發(fā)布的核心應(yīng)用程序的API框架 開發(fā)應(yīng)用程序使用的基礎(chǔ)組件,,相當(dāng)于供應(yīng)用程序調(diào)用的API、Java開發(fā),,包括:豐富的界面控件,、Content Provider,數(shù)據(jù)存儲組件,,應(yīng)用程序可以通過Content Provider分項數(shù)據(jù)給其他應(yīng)用,,也可以訪問其他程序的數(shù)據(jù),A Resource Manager,,資源管理器,,幫助應(yīng)用程序訪問圖片,布局文件等資源,,A Notification Manager,,提示信息管理器,An Activity Manager,,主要負(fù)責(zé)管理應(yīng)用程序的生命周期和調(diào)用棧等,。 3. Android Runtime 系統(tǒng)運(yùn)行庫層:
包括兩個部分,一是運(yùn)行環(huán)境:應(yīng)用程序的運(yùn)行空間,,包括一個實現(xiàn)Java語言大多數(shù)功能的核心庫,,以及一個類似Java虛擬機(jī)的Dalvik虛擬機(jī),所有應(yīng)用程序都是運(yùn)行在虛擬機(jī)中,。二是庫文件界面:一系列的C/C++庫,,相當(dāng)于Android系統(tǒng)在Linux核心系統(tǒng)上的功能擴(kuò)展,,為Application Framework層的許多功能提供支持。 4. Linux Kernel 核心層: Linux 核心,,Android的基礎(chǔ),,基于2.6的版本,基本的操作系統(tǒng)組件,,包括內(nèi)存管理,,進(jìn)程管理,存儲管理,,網(wǎng)絡(luò)棧,,驅(qū)動模型等等。 Android建立在Linux內(nèi)核之上,,但是Android不是Linux,它沒有支持本地窗口系統(tǒng),,沒有支持glibc運(yùn)行庫,,沒有包含完整的Linux內(nèi)核。 Android系統(tǒng)特點(diǎn) 1. 開放性 2. 應(yīng)用程序無限性:Android上的應(yīng)用程序可以通過標(biāo)準(zhǔn)API訪問核心移動設(shè)備功能,,通過互聯(lián)網(wǎng),,應(yīng)用程式可以聲明它們的功能可供其他應(yīng)用程序使用。 3. 應(yīng)用程序是在平等條件下創(chuàng)建的:移動設(shè)備上的應(yīng)用程序可以被替代或擴(kuò)展,。 4. 應(yīng)用程序可以輕松嵌入網(wǎng)絡(luò) 5. 應(yīng)用程序可以并行運(yùn)行:在后臺運(yùn)行時,,應(yīng)用程序可以生成通知來引起用戶注意。 Linux文件系統(tǒng)結(jié)構(gòu) Android系統(tǒng)基于Linux,,因此,,做Android測試掌握一定的Linux知識是必要的。Linux文件系統(tǒng)結(jié)構(gòu)是用戶空間和內(nèi)核中與文件系統(tǒng)相關(guān)的主要組件之間的關(guān)系:
用戶空間包含一些應(yīng)用程序和GUN C庫,,它們?yōu)槲募到y(tǒng)調(diào)用提供用戶接口,。 VFS是底層文件系統(tǒng)的主要接口,這個組件導(dǎo)出一組接口,,然后將它們抽象到各個文件系統(tǒng),。 有兩個針對文件系統(tǒng)對象的緩存:inode cache 和 dentry,它們緩存最近使用過的文件系統(tǒng)對象,。 緩沖區(qū)緩存會緩存文件系統(tǒng)和相關(guān)塊設(shè)備之間的請求,。 Linux文件系統(tǒng)采用階層式樹狀目錄結(jié)構(gòu),最上層是"/",然后再下邊創(chuàng)建其他的目錄,,如/bin,。 |
|