亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人


Android系統框架圖詳解

分享到:
           

    Android系統從下至上分為4層:Linux內核、Android程序庫及Android運行時、Android應用程序框架,以及應用程序等。


圖1-1 Android系統框架

    1. Linux內核(Linux Kernel)

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

    除了標準的Linux內核之外,Android系統還增加了內核的驅動程序,例如,顯示驅動、藍牙驅動、相機驅動、閃存卡驅動、Binder IPC驅動、輸入設備驅動、USB驅動、Wi-Fi驅動、音頻系統驅動、電源管理等,這些驅動程序為Android系統的運行提供基礎性支持。

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

    2. Android程序庫(Libraries)

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

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

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

    ·界面管理——顯示子系統的管理器,管理訪問顯示子系統和無縫組合多個應用程序的二維和三維圖形層。

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

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

    ·3D libraries——基于OpenGL ES 1.0 APIs的實現。該庫使用硬件3D加速或使用高度優化的3D軟加速。

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

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

    3. Android運行時(Android Runtime)

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

    Dalvik虛擬機是Android使用的Java虛擬機。每一個Android應用程序都是Dalvik虛擬機中的實例,運行在它們自己的進程中。Dalvik虛擬機設計成在一個設備中可以高效地運行多個虛擬機。Dalvik虛擬機可執行文件格式是.dex,.dex格式是專為Dalvik設計的一種壓縮格式,適合內存和處理器速度有限的系統。

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

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

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

    位于Android程序庫和運行時上面的是應用程序框架層。通過提供開放的開發平臺,Android使開發者能夠訪問核心應用程序所使用的API框架,這樣使得組件的重用得以簡化,任何應用程序都能發布它的功能且任何其他應用程序可以使用這些功能(需要服從框架執行的安全限制),從而使開發者可以編制極其豐富和新穎的應用程序,自由地利用設備硬件優勢訪問位置信息、運行后臺服務、設置鬧鐘、向狀態欄添加通知等。

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

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

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

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

    ·消息管理器(Notification Manager)——使得應用程序能夠在狀態欄顯示自定義的提示信息。

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

    5. Android應用程序和小部件

    Android裝配一個核心應用程序集合,連同系統一起發布,這些應用程序包括電子郵件、客戶端、SMS程序、日歷、地圖、瀏覽器、聯系人和其他設置等。而所有應用程序都是用Java語言編寫的,由用戶開發的Android應用程序和Android核心應用程序是同一層次的。

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

   熱點鏈接:

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

更多新聞>> 

主站蜘蛛池模板: 韩国伦理视频在线观看 | 欧美bbbxxx| 精品一区二区三区免费毛片爱 | 国产日本亚洲欧美 | 激情丁香小说 | 黄 色 免 费 网站在线观看 | 久久伊人中文字幕有码 | 微拍秒拍99福利精品小视频 | 天天曰天天 | 日本欧美在线观看 | 青草导航| 国内欧美一区二区三区 | 在线播放亚洲视频 | 欧美一级色视频 | 真实一级一级一片免费视频 | 色婷婷一区二区三区四区成人网 | 欧美激烈大尺度叫床的床戏 | 精品亚洲欧美中文字幕在线看 | 麻豆果冻传媒2021精品传媒一区 | 日韩免费看片 | 午夜色a大片在线观看免费 午夜色福利 | 国内精品伊人久久久影视 | 青娱乐极品视频在线观看 | 九九久久国产精品大片 | 香蕉视频日本 | 视频在线观看一区 | 久久综合欧美 | 国产三级日本三级在线播放 | 国产成人片 | 国产河南妇女毛片精品久久 | 国产欧美成人免费观看 | 日本www黄| 久久99精品久久久久久野外 | 亚洲成色www久久网站 | 国产欧美成人一区二区三区 | 免费中文字幕一级毛片 | 国产剧情最新在线观看视频 | 免费 黄 色 人成 视频 | 色播99| 久久综合丝袜日本网 | 在线观看国产免费高清不卡 |