Android App的運行環境及Android系統架構概覽_Android

來源:互聯網
上載者:User

Android基於linux核心,面向移動終端的作業系統。主要包括以下幾個方面:

Application Framework:
這一層為應用開發人員提供了豐富的應用編程介面,如 Activity Manager,Content Provider,Notification Manager,以及各種視窗 Widget 資源等。所有的APP都是運行在這一層之上。
Dalvik 虛擬機器:
Dalvik VM採用寄存器架構,而不是JVM的棧架構,更適於行動裝置。java原始碼經過編譯成為.class位元組碼檔案,然後由Google提供的 dx工具將其轉化為Dalvik可識別的.dex檔案。
Linux kernel:
每個APP應用程式由一個獨立的Dalvik VM來解釋執行,而一個Dalvik VM執行個體對應一個linux核心進程。
所以說,每個APP之間完全隔離,資源獨立。使得每個APP更加安全,但也不利於處理序間通訊

Android官方介紹

Android 系統架構

Application framework
大部分開發人員十分關心這一層。你必須要瞭解開發人員會接觸到的所有API介面,大部分介面都與硬體抽象層(HAL層)介面一一對應,而且它們會告訴你如何?你自己的驅動。

Binder IPC
Binder處理序間通訊機制協助Application framework層能夠跨進程並且調用系統級服務。從根本上講,它協助進階別的framework的API介面與Android系統服務進行互動。

系統服務
大部分Application framework api具備的功能都要依靠與某種系統服務進行通訊從而操作底層硬體。系統服務根據不同的功能分成了若干模組組件,例如Window Manager, Search Service, or Notification Manager。系統服務主要包含兩大塊:系統和媒體。前者對應的服務包含如Window Manager 或 Notification Manager,後者對應的服務都與播放或記錄媒體有關。
硬體抽象層Hardware abstraction layer (HAL)
硬體抽象層可以作為一個標準介面讓Android系統調用裝置驅動層而不用管這些驅動和硬體時如何?的。


Linux Kernel
大多數情況下,你自己開發裝置驅動和開發linux裝置驅動時一樣的。Android挑選了一個特定的linux核心版本,這個版本包含了如wakelocks(一個記憶體管理系統),Binder IPC驅動和其他一些特徵,這些特徵對於像Android一樣的移動嵌入式平台都非常重要。你也可以根據自己的需求選擇合適的kernel版本,只要它能支援一些必要的屬性如Binder IPC驅動等。但是,我們仍然推薦你使用最新版本的Android核心。

相關知識點:
應用程式進程間隔離機制:
Android系統包括四層架構:從底層往上依次是Linux kernel層、C/C++函數庫與Android運行時環境(Dalvik VM等)層、Android Framwork架構層、應用程式層。其中,Android運行時環境層類似Java裡的JRE層,主要用來運行java程式,不過此處的虛擬機器是Dalvik虛擬機器。每一個Android應用程式都運行在單獨的Davlik進程裡,Dalvik虛擬機器針對同時高效運行多個虛擬機器而最佳化,在這一層實現了應用程式的進程間隔離。

Dalvik虛擬機器與JVM區別:

JVM直接從.class或Jar包中載入位元組碼解釋運行,Dalvik通過DX工具將.class檔案編譯為.dex檔案(Dalvik Executable)來運行。
JVM採用棧結構,而Dalvik採用寄存器結構,更適於行動裝置。
為何Android要採用Dalvik虛擬機器而不是JVM呢?

大多數虛擬機器(包括JVM)都是基於棧的,而Dalvik虛擬機器則是基於寄存器的,效能更好,不過也導致硬體通用性略差;
運行專有.dex檔案。DX工具對.class檔案編譯時間,去除裡面的冗餘資訊,並把所有.class檔案整合到一個檔案中,提高了效能。同時DX工具還會對.dex檔案進行效能最佳化。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.