首頁>技術>

今天先說一下架構層級之間的關係,由上往下,按1,2,3,4,5層來表達。

大體上來說就是底層為上層提供功能和API,比如說上期提到的第二層Java API層為app層提供介面和功能.

第一層app層為應用層開發人員提供核心功能(email,camer...)

第二層Java API為第一層和開發人員提供介面(ActivityManger)

第三層c/c++ 和ART為第二層提供c的原生庫(Media,webkit)以及ART提供Android虛擬機器和回收記憶體最佳化

第四層HAL為第二層Java API層提供硬體(相機(攝像頭),藍芽)

第五層linux核心 這一層是整個Android系統基礎,(ART的回收記憶體最佳化的執行由linux執行)

瞭解了整體的層級關係,我們繼續介紹每個層級。

三.Native C/C++ Libraries(原生C/C++庫) ART(虛擬機器)

這一層的C/C++庫擁有Webkit(瀏覽器),Media(影片),OpenGl(2D,3D圖形繪製),OpenMax(多媒體應用程式)等功能。

至於為什麼這些功能要用C/C++來寫,因為它們只能用C/C++((●'◡'●))。如果這些庫不滿足你的需求,可以透過Android NDK直接訪問某些原生平臺庫

ART:Android虛擬機器即app執行時所處的空間(一個app對應著一個程序,一個ART例項)。我首先得知道要想在Android平臺執行的是dex位元組碼,而編譯工具(Jack)將Java原始碼編譯成dex位元組碼,由ART去執行dex位元組碼。

ART主要功能是編譯,最佳化垃圾回收,除錯支援。

Core Libraries;核心執行時庫向Java API提供大部分程式設計功能。

四.HAL(硬體抽象層)

向Java API提供硬體裝置

五。Linux Kerenl(核心)

Android平臺的基礎是Linux核心。

核心那是經過“風吹雨打"的安全性,穩定性都不必多說的核心。

Android許可權模式,程序隔離,程序通訊都是由Linux核心而來。

7
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 什麼是依賴注入