久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久


Android系統框架圖詳解

分享到:
           

    Android系統從(cong)下(xia)至上分為4層:Linux內核、Android程(cheng)序庫及(ji)Android運(yun)行時(shi)、Android應用程(cheng)序框架,以及(ji)應用程(cheng)序等。


圖(tu)1-1 Android系統框架(jia)

    1. Linux內核(Linux Kernel)

    Android的核心系統服務依賴于Linux 2.6,例如安全、內存管理、進程管理、網絡堆棧、驅動模型。Linux Kernel也作為硬件和軟件之間的抽象層,它隱藏具體硬件細節而為上層提供統一的服務。(推薦閱讀:Linux內核模塊程序結構

    除了標準(zhun)的(de)(de)Linux內(nei)核(he)之外,Android系(xi)統還增(zeng)加了內(nei)核(he)的(de)(de)驅(qu)(qu)動(dong)程序,例(li)如,顯示(shi)驅(qu)(qu)動(dong)、藍牙驅(qu)(qu)動(dong)、相(xiang)機驅(qu)(qu)動(dong)、閃(shan)存卡驅(qu)(qu)動(dong)、Binder IPC驅(qu)(qu)動(dong)、輸入(ru)設備驅(qu)(qu)動(dong)、USB驅(qu)(qu)動(dong)、Wi-Fi驅(qu)(qu)動(dong)、音頻系(xi)統驅(qu)(qu)動(dong)、電源(yuan)管(guan)理等,這些驅(qu)(qu)動(dong)程序為Android系(xi)統的(de)(de)運行提供基(ji)礎性(xing)支持。

    這樣分層(ceng)的好處(chu)是在使(shi)用(yong)下層(ceng)提供(gong)的服務(wu)的同時也為上層(ceng)提供(gong)統一的服務(wu),屏蔽本(ben)層(ceng)及以下層(ceng)的差異,當本(ben)層(ceng)及以下層(ceng)發(fa)生了變化不(bu)會影響到上層(ceng)。也就是說,各(ge)層(ceng)各(ge)盡其職,各(ge)層(ceng)提供(gong)固定的SAP(Service Access Point),即高(gao)內(nei)聚、低耦(ou)合。

    2. Android程序庫(Libraries)

    Android包含一(yi)個(ge)C/C++庫的集合,以(yi)供Android系(xi)統的各個(ge)組(zu)件使用。這些(xie)功能通過Android的應用程序框架(Application Framework)展(zhan)現給開發者。下面(mian)列出一(yi)些(xie)核心庫:

    ·系統C庫——由BSD繼(ji)承衍生(sheng)的標準C系統函(han)數庫(libc),調整為基于(yu)嵌入式Linux設備(bei)的庫。

    ·媒(mei)體庫——基于PacketVideo的(de)OpenCORE。這些(xie)庫支持播(bo)放和錄制多種常見的(de)音頻和視頻格式,以及多種媒(mei)體的(de)編(bian)碼/解碼格式,包(bao)括MPEG-4、 H.264、 MP3、 AAC、 AMR、JPG、 PNG。

    ·界面管(guan)理——顯示子系統(tong)的管(guan)理器,管(guan)理訪(fang)問(wen)顯示子系統(tong)和(he)無縫組(zu)合多個應用程序的二維(wei)和(he)三(san)維(wei)圖形層。

    ·LibWebCore——新式的(de)Web瀏覽器引擎,驅動Android 瀏覽器和(he)可嵌入的(de)Web視(shi)圖。

    ·SGL——Skia圖形庫,基本的2D圖形引(yin)擎。

    ·3D libraries——基(ji)于(yu)OpenGL ES 1.0 APIs的(de)實現。該庫(ku)使(shi)用(yong)硬件3D加(jia)速(su)或使(shi)用(yong)高(gao)度優(you)化的(de)3D軟加(jia)速(su)。

    ·FreeType ——位圖(bitmap)和(he)矢量(vector)字體渲(xuan)染。

    ·SQLite ——所有應用程序都可以(yi)使用的(de)強大而輕量(liang)級(ji)的(de)關(guan)系數據庫引擎。

    3. Android運行時(Android Runtime)

  ;  在Linux內核層(ceng)上還有一(yi)個Android運行(xing)時層(ceng),該層(ceng)包括Dalvik虛擬(ni)機及Java核心(xin)庫,提供了Java編程語言核心(xin)庫的大多數功能(neng)。

    Dalvik虛擬(ni)機是(shi)Android使用的(de)Java虛擬(ni)機。每(mei)一(yi)個Android應用程序都是(shi)Dalvik虛擬(ni)機中(zhong)的(de)實(shi)例,運(yun)行(xing)(xing)(xing)在(zai)它(ta)們自己的(de)進程中(zhong)。Dalvik虛擬(ni)機設(she)計(ji)成(cheng)在(zai)一(yi)個設(she)備中(zhong)可以高效地運(yun)行(xing)(xing)(xing)多個虛擬(ni)機。Dalvik虛擬(ni)機可執行(xing)(xing)(xing)文(wen)件格(ge)式是(shi).dex,.dex格(ge)式是(shi)專為Dalvik設(she)計(ji)的(de)一(yi)種壓縮(suo)格(ge)式,適(shi)合內(nei)存和處理器速(su)度有限(xian)的(de)系統。

    大(da)多(duo)數虛擬機(ji)包括JVM都是基于棧的(de),而(er)Dalvik虛擬機(ji)則是基于寄存器的(de)。兩種架構各(ge)有(you)優(you)劣(lie)。一(yi)般而(er)言(yan),基于棧的(de)機(ji)器需要更(geng)多(duo)指令(ling),而(er)基于寄存器的(de)機(ji)器指令(ling)更(geng)大(da)。dex 是一(yi)套工具(ju),可以(yi)將 Java的(de).class格(ge)式轉換成 .dex 格(ge)式。一(yi)個.dex文件通常會有(you)多(duo)個.class。由于.dex有(you)時(shi)必須(xu)進行佳化,會使文件大(da)小增加(jia)1~4倍,以(yi)odex結(jie)尾。

    Dalvik虛擬機依(yi)賴于(yu)Linux 內核提供基本(ben)功能,如線程和底層(ceng)內存管理。

    4. Android應用程序框架(Application Framework)

    位于Android程(cheng)(cheng)(cheng)序(xu)庫(ku)和(he)(he)運(yun)行(xing)時上面(mian)的(de)(de)是(shi)應(ying)(ying)用(yong)(yong)(yong)程(cheng)(cheng)(cheng)序(xu)框(kuang)(kuang)架層。通過提供開(kai)放(fang)的(de)(de)開(kai)發平臺(tai),Android使(shi)開(kai)發者(zhe)能夠訪(fang)(fang)問(wen)核心應(ying)(ying)用(yong)(yong)(yong)程(cheng)(cheng)(cheng)序(xu)所使(shi)用(yong)(yong)(yong)的(de)(de)API框(kuang)(kuang)架,這(zhe)樣使(shi)得組件的(de)(de)重(zhong)用(yong)(yong)(yong)得以簡(jian)化(hua),任(ren)何應(ying)(ying)用(yong)(yong)(yong)程(cheng)(cheng)(cheng)序(xu)都能發布它的(de)(de)功能且任(ren)何其(qi)他應(ying)(ying)用(yong)(yong)(yong)程(cheng)(cheng)(cheng)序(xu)可以使(shi)用(yong)(yong)(yong)這(zhe)些功能(需要服從框(kuang)(kuang)架執(zhi)行(xing)的(de)(de)安全限制),從而使(shi)開(kai)發者(zhe)可以編制極其(qi)豐富和(he)(he)新(xin)穎的(de)(de)應(ying)(ying)用(yong)(yong)(yong)程(cheng)(cheng)(cheng)序(xu),自由地利用(yong)(yong)(yong)設(she)備硬件優勢訪(fang)(fang)問(wen)位置(zhi)信(xin)息(xi)、運(yun)行(xing)后(hou)臺(tai)服務、設(she)置(zhi)鬧(nao)鐘、向狀態欄添加通知等。

    每(mei)個應用程序其實是一(yi)組服務和系(xi)統,包括如下內容。

    ·視(shi)圖(tu)(View)——豐富的、可擴展的視(shi)圖(tu)集(ji)合,用來構建應用程(cheng)序。包括列表(Lists)、網格(grids)、文本框(kuang)(Textboxs)、按鈕(Buttons),甚(shen)至(zhi)是可嵌(qian)入的網頁瀏覽器(qi)。

    ·內容(rong)提供器(Content Providers)——使(shi)應(ying)用程序可以訪問(wen)其(qi)他應(ying)用程序(如(ru)通訊錄)的數據,或共享自己的數據。

    ·資源管理器(Resource Manager)——提供對于非(fei)代碼資源的訪問,如本地化字符串(chuan)、圖形和布局文件。

    ·消(xiao)息(xi)管理器(Notification Manager)——使得應用程序能夠(gou)在狀態欄(lan)顯(xian)示(shi)(shi)自定義(yi)的提(ti)示(shi)(shi)信(xin)息(xi)。

    ·活動管(guan)理(li)器(Activity Manager)——管(guan)理(li)應用(yong)程(cheng)序生命周期,并提供常用(yong)的(de)導航回退功能。

    5. Android應用程序和小部件

    Android裝(zhuang)配一個核(he)心應(ying)用(yong)程(cheng)(cheng)(cheng)序(xu)集合,連同系(xi)統一起發布(bu),這些應(ying)用(yong)程(cheng)(cheng)(cheng)序(xu)包括電子(zi)郵件、客(ke)戶端、SMS程(cheng)(cheng)(cheng)序(xu)、日歷、地圖、瀏覽(lan)器(qi)、聯系(xi)人和其(qi)他(ta)設置等。而所(suo)有應(ying)用(yong)程(cheng)(cheng)(cheng)序(xu)都是用(yong)Java語(yu)言編寫的(de),由(you)用(yong)戶開發的(de)Android應(ying)用(yong)程(cheng)(cheng)(cheng)序(xu)和Android核(he)心應(ying)用(yong)程(cheng)(cheng)(cheng)序(xu)是同一層次的(de)。

華清遠見Android開發教程免費下載

   熱點鏈接:

   1、Android模擬器與真機的區別
   2、給Android初學者的八個忠告
   3、嵌入式Android系統移植

更多新聞>>