android入門知識:安卓的系統架構詳細解析

來源:互聯網
上載者:User

標籤:android   android開發   

對於很多新手來說安卓系統架構都不是很瞭解,麥子學院android開發老師講過,Android 是Google開發的基於Linux平台的開源手機作業系統。它包括作業系統、使用者介面和應用程式 —— 行動電話工作所需的全部軟體,而且不存在任何以往阻礙移動產業創新的專有權障礙。Android採用WebKit瀏覽器引擎,具備觸控螢幕、進階圖形顯示和上網功能,使用者能夠在手機上查看電子郵件、搜尋網址和觀看視頻節目等,比iPhone等其他手機更強調搜尋功能,介面更強大,可以說是一種融入全部Web應用的單一平台。這裡就讓麥子學院android開發老師詳細介紹下Android的系統架構。  
android的系統架構和其作業系統一樣,採用了分層的架構。從架構圖看,android分為四個層,從高層到低層分別是應用程式層、應用程式架構層、系統運行庫層和linux核心層。  
1.應用程式  
Android會同一系列核心應用程式套件組合一起發布,該應用程式套件組合包括email用戶端,SMS短訊息程式,日曆,地圖,瀏覽器,連絡人管理程式等。所有的應用程式都是使用JAVA語言編寫的。  
2.應用程式架構  
開發人員也可以完全訪問核心應用程式所使用的API架構。該應用程式的架構設計簡化了組件的重用;任何一個應用程式都發行就緒它的功能塊並且任何其它的應用程式都可以使用其所發布的功能塊(不過得遵循架構的安全性限制)。同樣,該應用程式重用機制也使使用者可以方便的替換程式組件。  
隱藏在每個應用後面的是一系列的服務和系統, 其中包括;  
* 豐富而又可擴充的視圖(Views),可以用來構建應用程式, 它包括列表(lists),網格(grids),文字框(text boxes),按鈕(buttons), 甚至可嵌入的web瀏覽器。  
* 內容提供器(Content Providers)使得應用程式可以訪問另一個應用程式的資料(如連絡人資料庫), 或者共用它們自己的資料  
* 資源管理員(Resource Manager)提供 非代碼資源的訪問,如本地字串,圖形,和布局檔案( layout files )。  
* 通知管理器 (Notification Manager) 使得應用程式可以在狀態列中顯示自訂的提示資訊。  
* Active Manager( Activity Manager) 用來管理應用程式生命週期並提供常用的導航回退功能。  
有關更多的細節和怎樣從頭寫一個應用程式,請參考 如何編寫一個 Android 應用程式.  
3.系統運行庫  
1)程式庫  
Android 包含一些C/C++庫,這些庫能被Android系統中不同的組件使用。它們通過 Android 應用程式架構為開發人員提供服務。以下是一些核心庫:  
* 系統 C 庫 - 一個從 BSD 繼承來的標準 C 系統函數庫( libc ), 它是專門為基於 embedded linux 的裝置定製的。  
* 媒體庫 - 基於 PacketVideo OpenCORE;該庫支援多種常用的音頻、視頻格式回放和錄製,同時支援靜態影像檔。編碼格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。  
* Surface Manager - 對顯示子系統的管理,並且為多個應用程式提 供了2D和3D圖層的無縫融合。  
* LibWebCore - 一個最新的web瀏覽器引擎用,支援Android瀏覽器和一個可嵌入的web視圖。  
* SGL - 底層的2D圖形引擎  
* 3D libraries - 基於OpenGL ES 1.0 APIs實現;該庫可以使用硬體 3D加速(如果可用)或者使用高度最佳化的3D軟加速。  
* FreeType -位元影像(bitmap)和向量(vector)字型顯示。  
* SQLite - 一個對於所有應用程式可用,功能強勁的輕型關係型資料庫引擎。  
2)Android 運行庫  
Android 包括了一個核心庫,該核心庫提供了JAVA程式設計語言核心庫的大多數功能。  
每一個Android應用程式都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機器執行個體。Dalvik被設計成一個裝置可以同時高效地運行多個虛擬系統。 Dalvik虛擬機器執行(.dex)的Dalvik可執行檔,該格式檔案針對小記憶體使用量做了最佳化。同時虛擬機器是基於寄存器的,所有的類都經由JAVA編譯器編譯,然後通過SDK中 的 "dx" 工具轉化成.dex格式由虛擬機器執行。  
Dalvik虛擬機器依賴於linux核心的一些功能,比如線程機制和底層記憶體管理機制。  
4.Linux 核心  
Android 的核心系統服務依賴於 Linux 2.6 核心,如安全性,記憶體管理,進程管理, 網路通訊協定棧和驅動模型。 Linux 核心也同時作為硬體和軟體棧之間的抽象層。 


更多android開發教程盡在:

http://www.maiziedu.com/course/android/

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.