1. 程式人生 > >《Android群英傳》學習筆記之Android體系與系統架構

《Android群英傳》學習筆記之Android體系與系統架構

一、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、
    android.Net
    、android.media等等。後者是一種基於暫存器的java虛擬機器,Dalvik虛擬機器主要是完成對生命週期的管理、堆疊的管理、執行緒的管理、安全和異常的管理以及垃圾回收等重要功能。
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命令實現電腦對手機的操縱。