Android的系統架構

來源:互聯網
上載者:User

標籤:war   簡訊   view   drive   linux系統   audio   driver   電源管理   image   

Android系統的底層建立在Linux系統之上,整個系統採用軟體疊層(Software Stack)的方式進行構建,包括4層:作業系統層、中介軟體層、使用者介面層和應用軟體層。疊層結構能夠使層與層之間相互分離,明確各自的分工,保證了層與層之間的低耦合。下面根據Android系統的體繫結構圖,對各個部分進行介紹。

一、Linux核心
Android系統建立在Linux2.6之上,Linux核心是系統硬體和軟體疊層之間的抽象層,它提供了安全性、記憶體管理、進程管理、網路通訊協定棧、驅動模型等核心系統服務。驅動模型包括:

Disney Driver:顯示驅動
Camera Driver:網路攝影機驅動
Flash Memory Driver:快閃記憶體驅動
Binder(IPC) Driver:Binder(IPC)驅動
Keypad Driver:鍵盤驅動
WiFi Driver:WiFI驅動
Audio Driver:音頻驅動
Power Management:電源管理

二、系統庫

Surface Manager:管理對顯示子系統的訪問。
Media Framework:媒體庫,基於PacketVideo的OpenCORE,支援查看靜態圖片、支援錄製和播放多種主流格式的音視頻檔案,包括PNG、JPG、MPEG4、H.264、MP3、AAC、AMR等。
SQLite:功能強大的輕量級關聯式資料庫。
OpenGL ES:用於3D開發的系統庫
FreeType:位元影像和向量字型顯示。
WebKit:Web瀏覽器引擎。
SGL:底層的2D圖形引擎。
SSL:網路通訊中進行SSL加密的庫。
libc:標準C系統庫。

三、Android運行時
在Android5.0以前,Android運行時由兩部分組成:Android核心庫和Dalvik虛擬機器。從5.0開始,ART取代了Dalvik虛擬機器。原因在於,Dalvik虛擬機器採用JIT(Just-in-time)解譯器進行動態編譯並執行,導致APP運行時比較慢;而ART模式在使用者安裝APP時進行先行編譯(Ahead-of-time,AOT)操作,將原本在程式運行時的編譯動作提前到使用者安裝時,位元組碼預先編譯成機器碼,使其成為真正的本地應用。ART雖然佔用了更多的儲存空間,延長了應用安裝和系統啟動的時間,但是它可以減少程式運行時動態編譯的開銷,提高APP的運行效率。

四、應用程式架構
開發人員在開發Android應用程式時,就是面向底層的應用程式架構層進行的。應用程式架構層提供了大量API供開發人員使用。應用程式架構既是應用程式開發的基礎,也是軟體複用的重要手段。該層包括:

Activity Manager:Active Manager
Window Manager:視窗管理器
Content Providers:內容提供者
View System:視圖系統
Package Manager:包管理器
Telephony Manager:電話管理器
Resource Manager:資源管理員
Location Manager:位置管理器
Notification Manager:通知管理器

五、應用程式層
該層提供一些核心應用程式套件組合,例如電子郵件、簡訊、日曆、地圖、瀏覽器和連絡人管理等。同時,開發人員可以利用Java語言設計和編寫屬於自己的應用程式。

 

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.