Android系統架構

Android的系統架構從初學時最先就要了解,並且貫穿始末。它不僅讓我們從宏觀上認識了Android系統,同時,也給我們的學習與實踐指明了方向。若是從事Android應用開發,那掌握Android的系統架構是必要之一。

Android系統架構採用了分層架構的思想,如下圖1所示(圖片為網上搜索所得)。

圖1 Android系統架構圖

圖中顯示,從上層到底層共包括四層,分別是應用程序層、應用框架層、系統庫和Android運行時和Linux內核。如圖2所示,這是從全局宏觀上所分的層次,一個Android工程建立在這四層基礎上的,每個Android項目也遵循這個層次規則。

圖2 Android系統架構圖層次

下面介紹一下每層的功能:

Advertisements

一 應用程序層(APPLICATIONS)

功能:提供一些核心應用程序包,例如電子郵件、簡訊、日曆、地圖、瀏覽器和聯繫人管理等。

開發語言:Java語言設計開發應用程序

新開發應用程序與那些核心應用程序彼此平等、友好共處。

二 應用程序框架層(APPLICATION FRAMEWORK)

功能:提供系統API(應用介面)框架並 開發新的API

開發語言:Java語言

該層是Android應用開發的基礎,開發人員大部分情況是在和她打交道。應用程序框架層包括活動管理器、窗口管理器、內容提供者、視圖系統、包管理器、電話管理器、資源管理器、位置管理器、通知管理器和XMPP服務十個部分。在Android平台上,開發人員可以完全訪問核心應用程序所使用的API框架。並且,任何一個應用程序都可以發布自身的功能模塊,而其他應用程序則可以使用這些已發布的功能模塊。基於這樣的重用機制,用戶就可以方便地替換平台本身的各種應用程序組件。

Advertisements

三 系統庫和Android運行時

功能:提供系統庫(包含已經實現的功能)和運行時所需的環境(虛擬機等)

開發語言:Java語言、C、C++語言

系統庫包括九個子系統,分別是圖層管理、媒體庫、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android運行時包括核心庫和Dalvik虛擬機,前者既兼容了大多數Java語言所需要調用的功能函數,又包括了Android的核心庫,比如android.os、android.net、android.media等等。後者是一種基於寄存器的java虛擬機,Dalvik虛擬機主要是完成對生命周期的管理、堆棧的管理、線程的管理、安全和異常的管理以及垃圾回收等重要功能。

四 Linux內核

功能:提供linux驅動和相關驅動等,可自主開發

開發語言:C語言

Android核心繫統服務依賴於Linux2.6內核,如安全性、內存管理、進程管理、網路協議棧和驅動模型。Linux內核也是作為硬體與軟體棧的抽象層。驅動:顯示驅動、攝像頭驅動、鍵盤驅動、WiFi驅動、Audio驅動、flash內存驅動、Binder(IPC)驅動、電源管理等。

最後總結一下:

Android的系統架構採用分層的思想,結構清晰,每個層次之間分工明確,相互合作。這很大的程度上降低了Android工程開發的難度,也給初學者提供一個由淺及深的學習途徑。如果你現在對Android有興趣,或者你已經踏上了學習旅程,希望這些可以給你提供些許的幫助,和我們一起加油吧!最後感謝網上的提供借鑒資料的大神們,給了我很大的幫助。

內容來源:華清遠見移動互聯網學院

http://cd.hqyj.com/

Advertisements

你可能會喜歡