資源描述:
《黑馬程序員的安卓教程android系統(tǒng)架構(gòu)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、Android系統(tǒng)架構(gòu)Android的系統(tǒng)架構(gòu)采用了分層的設(shè)計(jì)。從架構(gòu)圖(圖1-1)看,Android分為四層,從低層到高層分別是Linux內(nèi)核層、系統(tǒng)運(yùn)行庫(kù)層、應(yīng)用程序框架層和應(yīng)用程序?qū)印D1-1Android系統(tǒng)架構(gòu)1.Linux內(nèi)核Android的核心系統(tǒng)服務(wù)依賴于Linux2.6內(nèi)核,如安全性,內(nèi)存管理,進(jìn)程管理,網(wǎng)絡(luò)協(xié)議棧和驅(qū)動(dòng)模型。Linux內(nèi)核也同時(shí)作為硬件和軟件棧之間的抽象層。2.系統(tǒng)運(yùn)行庫(kù)1)程序庫(kù)Android包含一些C/C++庫(kù),這些庫(kù)能被Android系統(tǒng)中不同的組件使用。它們通過Android應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些核心庫(kù):*
2、SurfaceManager-對(duì)顯示子系統(tǒng)的管理,并且為多個(gè)應(yīng)用程序提供了2D和3D圖層的無縫融合。*媒體庫(kù)-該庫(kù)支持多種常用的音頻、視頻格式回放和錄制,同時(shí)支持靜態(tài)圖像文件。編碼格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。*SQLite-一個(gè)對(duì)于所有應(yīng)用程序可用,功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫(kù)引擎。*OpenGLES-該庫(kù)可以使用硬件3D加速(如果可用)或者使用高度優(yōu)化的3D軟加速。*FreeType-位圖(bitmap)和矢量(vector)字體顯示。*WebKit-一個(gè)最新的web瀏覽器引擎,支持Android瀏覽器和一個(gè)可嵌入的web視
3、圖(WebView)。*SGL-底層的2D圖形引擎*SSL-SSL(SecureSocketsLayer安全套接層),在傳輸層對(duì)網(wǎng)絡(luò)連接進(jìn)行加密,為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議,。*Libc-一個(gè)標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫(kù)(libc)。2)AndroidRuntime庫(kù)*CoreLibraries-該核心庫(kù)提供了Java編程語言核心庫(kù)的大多數(shù)功能。*DalvikVirtualMachine-每一個(gè)Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例。Dalvik虛擬機(jī)依賴于linux內(nèi)核的一些功能,比如線程機(jī)制和底層內(nèi)存管理機(jī)制。3
4、.應(yīng)用程序框架Android系統(tǒng)中的每個(gè)應(yīng)用都依賴于該框架提供的一系列服務(wù)和系統(tǒng),其中包括:*活動(dòng)管理器(ActivityManager)用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。*豐富而又可擴(kuò)展的視圖(Views),可以用來構(gòu)建應(yīng)用程序,它包括列表(lists),網(wǎng)格(grids),文本框(textboxes),按鈕(buttons),甚至可嵌入的web瀏覽器。*內(nèi)容提供器(ContentProviders)使得應(yīng)用程序可以訪問另一個(gè)應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫(kù)),或者共享它們自己的數(shù)據(jù)。*資源管理器(ResourceManager)提供非代碼資源的訪問,
5、如本地字符串,圖形,和布局文件(layoutfiles)。*通知管理器(NotificationManager)使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息。4.應(yīng)用程序?qū)釉搶硬粌H包括系統(tǒng)內(nèi)置的應(yīng)用也包括用戶自己安裝的應(yīng)用,比如email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序,QQ,微信,淘寶,美團(tuán)等,該層所有的應(yīng)用程序都是使用Java語言編寫的。