Android初級之路-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 NDK
(Android 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架構圖中我們可以發現,上層依賴下層或底層提供的各種功能或服務,它們之間相互獨立且分工明確,這種分層結構保證了層與層之間的低耦合,當下層或下層層內發生改變時,上層應用無需任何改變,開發者能專心於應用層的開發。
只因堅持,所有不曾放棄;只因努力,所以遇見美好。
相關文章
- 【Android系統】Android系統架構簡介Android架構
- Android 圖形架構簡介Android架構
- Android系統架構圖Android架構
- Android-系統架構Android架構
- Android系統架構詳解(2)--Android RuntimeAndroid架構
- 初學 Android 架構元件之 LifecycleAndroid架構元件
- 初學 Android 架構元件之 ViewModelAndroid架構元件View
- Slack系統架構簡介 - jinlow架構
- 億級流量系統架構演進之路架構
- Android系統架構與系統原始碼目錄Android架構原始碼
- android Palette簡介Android
- Android LowMemoryKiller 簡介Android
- Android Studio專案目錄結構簡介Android
- 淺談Android os體系架構Android架構
- Android架構合集Android架構
- Android MVP 架構AndroidMVP架構
- Android系統介紹與框架Android框架
- Android 輸入系統介紹Android
- Android-MVP架構AndroidMVP架構
- Android Flux架構初探AndroidUX架構
- XView 架構升級之路View架構
- Pixhawk系統架構介紹架構
- RAG系統架構介紹架構
- Clean Architecture - 清晰簡潔的Android 應用架構Android應用架構
- Android平臺架構的介紹和原始碼分析Android架構原始碼
- android studio模版功能簡介Android
- Android Things系統結構及展望Android
- 架構雜談(Android、Web)架構AndroidWeb
- Android 什麼是架構?Android架構
- Android新元件架構——LifecylceAndroid元件架構
- Android專案架構搭建Android架構
- Android 元件化架構概要Android元件化架構
- Android高階進階之路【五】深入剖析Android系統Binder通訊機制Android
- Android NDK——初識協程(Coroutine)和libco的簡單介紹使用Android
- 移動端架構師_Android架構師成長體系課程架構Android
- Android入門教程 | SharedPreferences 簡介Android
- Android MVVM元件化架構方案AndroidMVVM元件化架構
- [Android]AAB外掛化架構Android架構