Android系統架構

來源:互聯網
上載者:User

標籤:

 

一,Application(應用程式層)

應用是用Java語言編寫的運行在虛擬機器上的程式

 

二,Application Framework(應用程式框架層)

這一層是編寫Google發布的核心應用時所使用的API架構,開發人員可以使用這些架構來開發自己的應用

View System: 可以用來構建應用程式,它包括列表、網格、文字框、按鈕已經可以嵌入的Web瀏覽器

Content Provider:它可以讓一個應用訪問另一個應用的資料,或者共用他們自己的資料

Resource Manager:提供非代碼資源的訪問,如本地字串,圖形和布局檔案

Notification Manager: 應用程式可以在狀態列中顯示自訂的提示資訊

Activity Manager:用來管理應用程式生命週期病提供常用的導航退回功能

Windows Manager:管理所有的視窗程序

Package Manager:Android系統內的程式管理

 

三,Libraries,Android Runtime(系統運行庫層)

當使用Android應用程式層架構時,Android系統會通過一些C/C++庫來支援我們使用的各個組件,使其能更好地為我們服務

Binoic系統C庫:C語言標準庫,C庫通過Linux系統來調用

多媒體庫(MediaFramework):Android系統多媒體庫,基於PackerVideo OpenCORE,該庫支援多種常見的格式的音頻、視頻的回放和錄製,以及圖片,比如MPEG4,MP3,AAC,AMR,JPG,PNG等

SGL:2D圖形引擎庫

SSL:位於TCP/IP協議與各種應用程式層協議之間,為資料通訊提供支援

OpenGL ES 1.0: 3D效果的支援

SQLite:關聯式資料庫

Webkit:Web瀏覽器引擎

FreeType:位元影像(bitmap)及向量(vector)

在Android作業系統中,每個Java程式都運行在Dalvik虛擬機器上,起只能執行.dex的可執行檔,當Java程式通過編譯後,最後還需要通過SDK中的dx工具轉為.dex格式才能在虛擬機器上執行。

Java虛擬機器啟動並執行事Java位元組碼,而Dalvik虛擬機器啟動並執行則是其專有的檔案格式dex(Dalvik Exceutable)的檔案

Dalvik虛擬機器有如下幾個主要特徵:

1,專有的dex檔案格式

2,dex的最佳化,dex檔案的結構是緊湊的

3,基於寄存器

4,一個應用,一個虛擬機器執行個體,一個進程。每一個Android應用度運行在一個Dalvik虛擬機器執行個體中,每一個虛擬機器執行個體都是一個獨立的進程空間

 

四、Linux Kerner(Linux核心層)

顯示驅動(Display Driver):基於linux的幀緩衝(Frame Buffer)驅動

鍵盤驅動(KeyBoard Driver): 作為輸入裝置的鍵盤驅動

Flash記憶體驅動(Flash Memory Driver):基於MTD的Flash驅動程式

照相機驅動(Camera Driver):常用的基於Linux的V412(Video for Linux)的驅動

音頻驅動(Audio Driver):常用的機遇ALSA的進階Linux聲音體系驅動

藍牙堆疊(Bluetooth Driver):基於IEEE 802.15.1標準的無線傳輸技術

WI-FI驅動:基於IEEE 802.11標準的驅動程式

Binder IPC驅動:Android的一個特殊的驅動程式,具有單獨的裝置節點,提供處理序間通訊功能

Power Management(電源管理):比如電池電量等

 

五,Android應用程式架構

  android.app:提供高層的程式模型和基本的運行環境。

  android.content:包含對各種裝置上的資料進行訪問和發布。

  android.database:通過內容提供者瀏覽和操作資料庫。

  android.graphics:底層的圖形庫,包含畫布i、顏色過濾、點、矩形,可以將它們直接繪製到螢幕上。

  android.location:定位和相關服務的類。

  android.media:提供一些類管理多種音頻、視頻的媒體介面。

  android.net:提供協助網路訪問的類,超過通常的java.net.*介面。

  android.os:提供了系統服務、訊息傳輸和IPC機制。

  android.opengl:提供OpenGL的工具。

  android.provider:提供訪問Android內容提供者的類。

  android.telephony:提供與撥打到電話相關的API互動。

  android.view:提供基礎的使用者介面介面架構。

  android.util:涉及工具性的方法,例如時間日期的操作。

  android.webkit:預設瀏覽器操作介面。

  android.widget:包含各種UI元素在應用程式的布局中使用。

Android系統架構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.