Android初級之路-Android系統架構簡介

風靈使發表於2018-11-04

Android 系統架構
萬丈高樓平地起,說的是重在基礎,用來形容Android的學習正好合適(人往高處走,基礎紮實,水平才能穩步提高)。上篇“Android 初級之路-Android 發展史”我們知道了Android的由來及歷史發展,本篇我們繼續來了解其基礎–Android系統架構。

Android是基於Linux核心的作業系統並對Linux核心進行了加強,如其系統架構圖(我是用Viso作圖的),其系統架構採用分層思想,從上到下分別為Application(應用層)、Application Framework(應用框架層)、Libraries and Android Runtime(系統庫及Android執行時,系統執行庫層)和Linux Kernel(Linux核心層)

Android應用層

Android應用層提供的服務即我們常說的應用,它是與使用者直接互動的,如系統自帶的日曆、通話、簡訊、瀏覽器等以及我們在Android應用商店(不同的手機品牌叫法不一樣)中下載的打飛機遊戲、音樂軟體等,其提供了實實在在的功能供使用者使用。

Android應用框架層

Android應用框架層提供了開發Android應用程式所需的一系列類庫,通常是系統API介面,使開發人員可以方便、快速地構建應用整體框架,其具體的模組內容及功能如下:

(1)Activity Manager(活動管理器):管理各個應用程式活動視窗併為視窗提供互動的介面;
(2)Window Manager(視窗管理器):管理所有開啟的視窗程式;(3)Content Provider(內容提供者):提供應用內或應用程式間資料共享功能;
(4)View System:建立應用程式基本檢視元件,如ListView、TextView、WebView等控制元件;
(5)Notification Manager(通知管理器):使用者可以自定義狀態列中的提示資訊;
(6)Package Manager(包管理器):應用程式安裝進手機後,以包名作為資料夾名進行儲存,此API提供諸如應用程式的安裝與解除安裝功能以及提示相關的許可權資訊;
(7)Resource Manager(資源管理器):提供圖片、音視訊等非程式碼資源;(8)Location Manager(位置管理器):提供位置資訊服務;
(9)Telephony Manager(電話管理器):管理所有移動裝置功能;
(10)XMPP服務:Google提供的後臺推送服務;

Android系統執行庫層

Android系統執行時庫層包含兩部分內容,一個是系統庫,一個是Android執行時。

系統庫提供了系統功能通過Android應用程式框架層為開發者提供服務,其類庫的內容主要包含資料庫、2D/3D圖形處理引擎、多媒體庫、資料傳輸服務等。另外,Android NDKAndroid Native Development Kit,Android原生庫)也為開發者提供了直接使用Android系統資源的能力。

Android執行時包含核心庫Dalvik虛擬機器兩部分。
(1)核心庫提供了Java SE API 的絕大多數功能,並提供Android的核心API,如android.os、android.net、android.util、android.meida等。
(2)Dalvik虛擬機器是基於Apache的Java虛擬機器,被改進以適應低記憶體、低處理速度的移動裝置環境,負責執行Android應用程式,提供實現程式隔離與執行緒除錯管理、安全和異常管理、垃圾回收等重要功能。

Android Linux核心層

Android Linux核心層作為系統架構的最底層藉助Linux核心服務實現硬體裝置驅動,從而為上層提供諸如程式與記憶體管理、網路協議棧、電源管理以及驅動模型等功能,同時Linux核心也是硬體與軟體之間的抽象層(Hardware Abstract Layer,HAL),它是對硬體裝置具體實現的抽象,這樣開發者就無需考慮系統底部的實現細節,提高開發效率了。

總結

這就是Android四層架構模型的簡介,從Android架構圖中我們可以發現,上層依賴下層或底層提供的各種功能或服務,它們之間相互獨立且分工明確,這種分層結構保證了層與層之間的低耦合,當下層或下層層內發生改變時,上層應用無需任何改變,開發者能專心於應用層的開發。

只因堅持,所有不曾放棄;只因努力,所以遇見美好。

相關文章