《Android群英傳》學習筆記之Android體系與系統架構
阿新 • • 發佈:2018-12-13
一、Android系統架構
1.Linux核心層
- Android核心系統服務依賴於Linux2.6核心,如安全性、記憶體管理、程序管理、網路協議棧和驅動模型。Linux核心也是作為硬體與軟體棧的抽象層。驅動:顯示驅動、攝像頭驅動、鍵盤驅動、WiFi驅動、Audio驅動、flash記憶體驅動、Binder(IPC)驅動、電源管理等。
2.系統庫和執行時
- 系統庫包括九個子系統,分別是圖層管理、媒體庫、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。
- Android執行時包括核心庫和Dalvik虛擬機器(執行時編譯,後使用ART模式,安裝時就進行編譯),前者既相容了大多數Java語言所需要呼叫的功能函式,又包括了Android的核心庫,比如android.os、
3.Framework層(應用程式框架層)
-
Activity Manager(活動管理器)
- 管理各個應用程式生命週期以及通常的導航回退功能
-
Window Manager(視窗管理器)
- 管理所有的視窗程式
-
Content Provider(內容提供器)
- 使得不同應用程式之間存取或者分享資料
-
View System(檢視系統)
- 構建應用程式的基本元件
-
Notification Manager(通告管理器)
- 使得應用程式可以在狀態列中顯示自定義的提示資訊
-
Package Manager(包管理器)
- Android系統內的程式管理
-
Telephony Manager(電話管理器)
- 管理所有的移動裝置功能
-
Resource Manager(資源管理器)
- 提供應用程式使用的各種非程式碼資源,如本地化字串、圖片、佈局檔案、顏色檔案等
-
Location Manager(位置管理器)
- 提供位置服務
-
XMPP Service(XMPP服務)
- 提供Google Talk服務
4.應用層
- apk等檔案
二、Android的App元件架構
- Activity
- BroadCastReciever
- ContentProider
- Service
三、上下文(Context)
-
應用程式會在如下時間點建立應用上下文Context
- 建立Application(應用上下文)
- 建立Activity(執行時上下文)
- 建立Service(執行時上下文)
-
可通過getApplicationContext() 方法獲取整個App的Context
四、其他
- ADB:Android Debug Bridge。可使用ADB命令實現電腦對手機的操縱。