【譯】Android系統架構

來源:互聯網
上載者:User

標籤:

讓我們來快速預覽一下整個android系統的架構。從下面的圖中我們可以發現,這個架構分為幾個不同的層,底層為上一層提供服務。

 

 Linux Kernel

android系統建立在一個堅固的基石上:Linux核心。Linus Torvalds於1991年建立了它。Linux為android提供了硬體抽象層,使得android可以
很輕鬆的安裝在各種平台上。
從實質上來說,Linux為android提供了記憶體管理,進程管理,網路服務,和其他的一些系層級的服務。
作為一個android開發人員,你不會直接接觸Linux核心層面的東西,但是你最好瞭解有這麼一回事。

 

 

                    

 

 

Native Libaraies(本地庫)

Linux 核心的上一層就是Android的本地庫了,這些庫都是用 C 或者C++寫的。他們為特定的硬體構架編譯,並被手機供應商預裝在手機中。
一些重要的庫:

• Surface Manager 介面管理器

android使用了一種組合的視窗管理機制,你的程式繪圖指令並不是直接作用在螢幕的緩衝上,而是先繪製為非顯示位元影像,然後和螢幕上的其他位元影像結合,
最後顯示給使用者。這使得系統可以完成一些有趣的視窗變化。

 

• 2D 和 3D 繪圖

 

• 音視頻解碼

    Android可以播放視頻,錄製視頻一些格式的視頻,如ACC AVC MP3 MPEG-4

• SQL資料庫

android本身包含一個輕量級的資料庫:SQLite 。
Firefox瀏覽器和蘋果手機也是使用的這個資料庫。
你的程式可以通過資料庫將一些資料永久儲存到手機中。

• 瀏覽器引擎

為了快速顯示HTML描述的內容,android使用WebKit 庫,同樣使用這個庫的還有Google瀏覽器,蘋果的Safari 。

 

這些庫本身並不是完整的應用程式,他們的作用是為上層的應用程式提供支援。如果你感興趣,你可以用NDK來編寫你自己的本地庫。

 

Android Runtime 運行時

在Linux核心上面的還有Android Runtime,它包括一個特別的虛擬機器Dalvik,以及java核心庫。Dalvik是Google專門為android編寫的一個虛擬機器,你的應用程式在編譯後

被轉換為平台無關的位元組碼檔案,然後,在程式運行時,Dalvik解釋並執行這些位元組碼指令。儘管這個位元組碼的格式和一般java位元組碼格式不同,但是Dalvik實質還是一個java虛擬機器。只不過它對記憶體的要求低一些。並且,android系統可以為多個程式同時運行多個虛擬機器,他們之間是隔離的。

Dalvik與傳統的java虛擬機器有2個重要的不同之處:

1、Dalvik啟動並執行是.dex尾碼的檔案。在編譯期間,傳統的.class 檔案會被轉化為.dex檔案,.dex檔案比傳統的.class檔案更加緊湊高效。這樣做是考慮到手機等行動裝置有限的

    電量和記憶體。

2、android runtime 層中的java core library 和 傳統的 JavaEE  javaME庫都不是完全相同的。

 

 

 

Application Framework  應用程式架構

再上一層,就是應用程式架構了。這個層提供了高層次的開發模組。方便你用來開發應用程式。他們被預裝到android系統中
下面手是一些重要的部分


• Activity Manager:
它控制著應用程式的生命週期,並維護著一個程式公用的回退棧。

• Content providers:
封裝著應用程式之間共用的資訊。比如連絡人。

 

• Resource manager:
資源管理員,管理非代碼部分。


• Location manager:
地區管理器:無論你的android手機在哪裡,它都知道知己的所處地區環境。

• Notification manager:
訊息管理器:用來通知一些訊息事件,比如新的資訊,鬧鐘,等等。

 

 

 

Application and Widget  應用程式和控制項

 

Application 應用程式會佔據整個螢幕來與使用者互動,而Widget  (控制項)則只佔據一個小的矩形地區。

 

【譯】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.