日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Adnroid体系与系统架构

發布時間:2025/3/21 windows 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Adnroid体系与系统架构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Google生態系統

Android系統架構

Android系統架構的經典示意圖

它將Android大致分為四層:

  • Linux Kernel 內核層
  • 庫和運行時 (Libraries + Android RunTime)
  • FrameWork層
  • 應用層 Applications
  • Android的體系架構鼓勵系統組件的重用,共享組件間的數據,并且定義組件間的訪問權限控制。可以說這些層次結構既是相互獨立又是相互關聯的。

    Linux層

    **Linux層,**Andorid最底層最核心的部分,**包含了Android系統的核心服務,包括硬件驅動、進程管理、安全系統等等**

    - Dalvik and ART
    Dalvik包含了一整套的Adnroid運行環境虛擬機,每個App都會分配Dalvik虛擬機來確保相互之間不受干擾,并保持獨立。 Dalvik的特點是運行時編譯。
    ART: 在Android 5.X的版本開始,ART模式已經取代了DalvikART采用的是安裝時編譯,以后運行時就不用編譯了。
    當讓了,對在其虛擬機環境中運行的大部分APP來講,他們都運行著相同的代碼。
    - Application Framework

    應用框架層

    Framework層為我們程序開發提供了非常方便的API,
    我們可以稱Framework層才真正是Java語言實現的層,在這層里定義的API都是用Java語言編寫。但是又因為它包含了JNI的方法,JNI用C/C++編寫接口,根據函數表查詢調用核心庫層里的底層方法,最終訪問到Linux內核。
    那么Framework層的作用就有2個。
    1.用Java語言編寫一些規范化的模塊封裝成框架,供APP層開發者調用開發出具有特殊業務的手機應用。
    2.用Java Native Interface調用core lib層的本地方法,JNI的庫是在Dalvik虛擬機啟動時加載進去的,Dalvik會直接去尋址這個JNI方法,然后去調用。
    2種方式的結合達到了Java方法和操作系統的相互通信。

    簡單的介紹下Framework層部分框架的功能:

    Activity Manager

    用來管理應用程序生命周期并提供常用的導航回退功能。

    Window Manager

    提供一些我們訪問手機屏幕的方法。屏幕的透明度、亮度、背景。

    Content Providers

    使得應用程序可以訪問另一個應用程序的數據(如聯系人數據庫), 或者共享它們自己的數據。

    View System

    可以用來構建應用程序, 它包括列表(Lists),網格(Grids),文本框(Text boxes),按鈕(Buttons), 甚至可嵌入的web瀏覽器。

    Notification Manager

    使得應用程序可以在狀態欄中顯示自定義的提示信息。

    Package Manager

    提供對系統的安裝包的訪問。包括安裝、卸載應用,查詢permission相關信息,查詢Application相關信息等。

    Telephony Manager

    主要提供了一系列用于訪問與手機通訊相關的狀態和信息的方法,查詢電信網絡狀態信息,sim卡的信息等。

    Resource Manager

    提供非代碼資源的訪問,如本地字符串,圖形,和布局文件(Layout files )。

    Location Manager

    提供設備的地址位置的獲取方式。很顯然,GPS導航肯定能用到位置服務。

    XMPP

    可擴展通訊和表示協議。前身為Jabber,提供即時通信服務。例如推送功能,Google Talk。

    ………等等

    • Standard libraries

      這里包含的是Adnroid中的一些標準庫。
    • Application
      What Android Is

    Android App 組件框架

    四大組件: Activity 、Service、ContentProvider、 BroadCastReciever .

    Android四大組件是如何協同工作

    Intent
    Activity作為人機交換的第一界面,負責向用戶展示信息和處理結果,而這些信息的來源可以通過資源獲取,也可以通過ContentProvider來獲取其他應用的信息,或者Service從后臺獲取,當然了也可以是通BroadCastReciever獲取到的廣播信息。
    組件和組件之間通過Intent通信、傳遞信息、交換數據,形成了各自獨立又緊密聯系的關系。

    應用運行上下問對象

    context
    Android系統的上下文對象,即在Context中。
    Activity Service Application 都繼承自Context。
    Android應用程序輝仔如下所示的時間點創建應用上下文Context。
    - 創建Application
    - 創建Activity
    - 創建Application

    從中我們可以看出,創建Context的時機就是在創建Context實現類的時候。

    當應用程序第一次運行時,Android系統都會創建一個Application對象,同時創建Application Context對象,所有的組件都共同擁有這樣一個Context對象,這個應用上下文對象貫穿整個應用進程的生命周期,為應用全局提供了功能和環境支持。

    而創建Activity和Service時,系統也會為他們提供運行時的上下文環境,即創建Activity實例、Service實例的Context對象。

    所以,我們可用直接在Activity中直接通過this的方式獲取Context對象,而在匿名內部類中,就必須使用 XXXActivity.this的方式才可以獲取Context對象。

    當然 你也可以通過getApplicationContext()方法獲取整個APP的Context對象,但是通過getApplicationContext()獲取到的Context是整個應用的上下問對象,這個與某個組件的上下文對象在某些時候還是有區別的。

    Adnroid系統源代碼目錄和系統目錄

    源碼目錄啥的暫時略過吧,目前也鉆研不懂,等回頭有精力了再來膜拜。

    總結

    以上是生活随笔為你收集整理的Adnroid体系与系统架构的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。