Android開發-系統結構

前言

Android基於Google經典的四層架構,從下往上依次是Linux內核、系統運行庫層、應用程序框架層和應用程序層這四層架構。

結構圖

在這裏插入圖片描述

應用程序

系統內置的應用程序以及非系統級的應用程序都屬於應用層,負責與用戶進行直接交互,通常都是用Java和kotlin進行開發的,如聯繫人、電話、瀏覽器等。

應用程序框架

應用框架層爲開發人員提供了開發應用程序所需要的API,我們平常開發應用程序都是調用這一層所提供的API,當然也包括系統應用。這一層是由Java / kotlin代碼編寫的,可以稱爲Java/ kotlin Framework。下面來看這一層所提供的主要組件:

名稱 功能
Activity Manager(活動管理器) 管理各個應用程序生命週期,以及常用的導航回退功能
Location Manager(位置管理器) 提供地理位置及定位功能服務
Notification Manager(通知管理器) 使得應用程序可以在狀態欄中顯示自定義的提示信息
Resource Manager(資源管理器) 提供應用程序使用的各種非代碼資源,如本地化字符串、圖片、佈局文件、顏色文件等
Telephony Manager(電話管理器) 管理所有的移動設備功能
Window Manager(窗口管理器) 管理所有開啓的窗口程序
Content Provider(內容提供者) 使得不同應用程序之間可以共享數據
View System(視圖系統) 構建應用程序的基本組件

系統運行庫

從Android系統框架圖上可以看出,系統運行庫層分爲兩部分,分別是 C/C++ 程序庫和 Android 運行時庫。

C/C++程序庫

名稱 功能
OpenGL ES 3D繪圖函數庫
Libc 從BSD繼承來的標準C系統函數庫,專門爲基於嵌入式Linux的設備定製
Media Framework 多媒體庫,支持多種常用的音頻、視頻格式錄製和回放
SQLite 輕量型的關係型數據庫引擎
SGL 底層的2D圖形渲染引擎
SSL 安全套接層,是爲網絡通信提供安全及數據完整性的一種安全協議
FreeType 可移植的字體引擎,它提供統一的接口來訪問多種字體格式文件
WebKit 瀏覽器內核
Display manager 顯示管理器

Android 運行時庫

運行時庫又分爲核心庫和ART(5.0系統之後,Dalvik虛擬機被ART取代),在Dalvik下,應用每次運行的時候,字節碼都需要通過即時編譯器轉換爲機器碼,這會拖慢應用的運行效率,而在ART 環境中,應用在第一次安裝的時候,字節碼就會預先編譯成機器碼,使其成爲真正的本地應用。

Linux內核

Android 的核心繫統服務基於Linux 內核,在此基礎上添加了部分Android專用的驅動。系統的安全性、內存管理、進程管理、網絡協議棧和驅動模型等都依賴於該內核。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章