【Android系統】Android系統架構簡介
概述
Android系統架構如下圖:
這裡寫圖片描述
從上往下一共是四層:
應用程式層、應用程式框架層、函式庫與Android執行時層、Linux核心層。
下面分別介紹各層:
分層介紹
應用程式層
包含系列的Android核心應用程式,大部分的Android應用也屬於這一層,如日曆、鬧鐘、瀏覽器等。這一層屬於使用者。
應用程式框架層
這一層就是普通開發者需掌握的層,我們使用框架裡的各個模組來開發應用,這些模組和各種服務都可以複用。理解了這一層,開發者就能更快更好的開發應用。下面介紹一下各個模組:
序號 | 模組名 | 用途 |
---|---|---|
1 | Activity Manager(活動管理器) | 管理應用程式生命週期並提供常用的導航回退功能 |
2 | Window Manager(視窗管理) | 整個Android的視窗機制都基於WindowManager,這個介面可以新增view到螢幕,也可以從螢幕刪除view |
3 | Content Providers(內容提供者) | 使得應用程式可以訪問另一個應用程式的資料,或共享它們自己的資料 |
4 | View System(檢視管理) | 用來建立應用程式的檢視,即各種UI元件 |
5 | Notification Manager(通知管理器) | 使得應用程式可以在狀態列中顯示客戶通知資訊 |
6 | Package Manager(包管理器) | 管理應用程式包,通過它可以獲得應用程式的資訊 |
7 | Telephony Manager(電話管理器) | 提供了一系列用於訪問與手機通訊相關的狀態和資訊的get方法。其中包括手機SIM的狀態和資訊、電信網路的狀態及手機使用者的資訊。 |
8 | Resource Manager(資源管理器) | 圖片資源,介面xml資源、字型、顏色等資源都由資源管理器統一管理 |
9 | Location Manager | 管理地圖服務的相關功能 |
10 | XMPP Services | 可擴充套件訊息與表示協議服務,這是一個基於XML的通訊協議 |
函式庫與Android執行時層
這一層已涉及底層,一般的Android應用不會涉及此層。此層包括函式庫和Android執行環境:
Libraries
序號 | 模組名 | 功能 |
---|---|---|
1 | Surface Manager | 對顯示子系統的管理,並且為應用提供2D,3D圖層的無縫融合 |
2 | Media Framework(媒體庫) | 基於PackeVideo OpenCore,該庫支援多種常用的音訊,視訊格式以及回放和錄製,同時支援靜態影象檔案。編碼格式包括:MPEG4、H.264,MP3、AAC、AMR、JPG、PNG |
3 | SQLite | 對所有應用程式可用,功能強大的輕量級關係型資料庫引擎 |
4 | OpenGL ES | 基於OpenGL ES 1.0 APIs實現,該庫可以使用硬體3D加速或者使用高度優化的3D軟加速 |
5 | FreeType | 點陣圖(bitmap)和向量(vector)字圖顯示支援 |
6 | WebKit | 最新的web瀏覽器引擎,用來支援Andiroid瀏覽器或者嵌入的web檢視 |
7 | SGL | 底層的2D圖形引擎 |
8 | SSL | Secure Sockets Layer 安全套接層,為網路通訊提供安全及資料完整性的一種安全協議 |
9 | libc(系統C庫) | 一個從BSD整合來的標準C系統函式庫(libc)它是專門為基於嵌入式Linux的裝置定製的 |
Android Runtime
序號 | 模組名 | 功能 |
---|---|---|
1 | Core Libraries | 該核心庫提供了Java程式語言核心庫的大多數功能 |
2 | Dalvik VM | android平臺的一個虛擬機器,它相當於PC中Java的虛擬機器JVM |
Linux核心層
此層為Android系統所依賴的Linux核心,核心提供的功能如下:
- 安全性(Security)
- 記憶體管理(Memory Management)
- 程式管理(Process Management)
- 網路堆疊(Network Stack)
- 驅動程式模型(Driver Model)包含以下這些常規的驅動程式:
Display Driver Keypad Driver Camera Driver WiFi Driver Flash Memory Driver Audio Driver Binder(IPC)Driver Power Management Bluetooth Driver USB Driver
相關文章
- Android初級之路-Android系統架構簡介Android架構
- Android系統架構圖Android架構
- Android-系統架構Android架構
- Android系統架構詳解(2)--Android RuntimeAndroid架構
- Android系統架構與系統原始碼目錄Android架構原始碼
- Slack系統架構簡介 - jinlow架構
- Android 圖形架構簡介Android架構
- Android系統介紹與框架Android框架
- Android 輸入系統介紹Android
- Pixhawk系統架構介紹架構
- RAG系統架構介紹架構
- Android Things系統結構及展望Android
- Android Q (Android 10.0)系統新特性Android
- Android系統開篇Android
- Android系統充電系統介紹-預防手機充電爆炸Android
- 淺談Android os體系架構Android架構
- Android 系統原始碼-1:Android 系統啟動流程原始碼分析Android原始碼
- Android系統常用分割槽Android
- Android 系統啟動流程Android
- 【android 7.1.2】系統啟動Android
- Android系統安全機制Android
- Tomcat系統架構Tomcat架構
- 圖解Android - Android GUI 系統 (1) - 概論圖解AndroidGUI
- 根檔案系統簡介與BusyBox構建根檔案系統
- HDFS架構指南(分散式系統Hadoop的檔案系統架構)架構分散式Hadoop
- 【系統之音】Android程式的建立及啟動簡述Android
- Android View 系統 1 - View樹AndroidView
- 開發Android系統應用Android
- Simpleperf分析之Android系統篇Android
- Android修改系統亮度的方案Android
- Netflix推薦系統(Part two)-系統架構架構
- IOS的系統架構iOS架構
- FACEBOOK 的系統架構架構
- 廣告系統架構架構
- 系統架構演變架構
- 安卓系統架構安卓架構
- 《Kettle構建Hadoop ETL系統實踐》簡介Hadoop
- Android FrameWork學習(二)Android系統原始碼除錯AndroidFramework原始碼除錯