1. 程式人生 > >Android系統架構5層

Android系統架構5層

Android 是一種基於 Linux 的開放原始碼軟體棧,為廣泛的裝置和機型而建立。下圖所示為 Android 平臺的主要元件。 
這裡寫圖片描述

Android 軟體棧

Linux 核心

Android 平臺的基礎是 Linux 核心。例如,Android Runtime (ART) 依靠 Linux 核心來執行底層功能,例如執行緒和低層記憶體管理。

使用 Linux 核心可讓 Android 利用主要安全功能,並且允許裝置製造商為著名的核心開發硬體驅動程式。

硬體抽象層 (HAL)

硬體抽象層 (HAL) 提供標準介面,向更高級別的 Java API 框架顯示裝置硬體功能。HAL 包含多個庫模組,其中每個模組都為特定型別的硬體元件實現一個介面,例如相機或藍芽模組。當框架 API 要求訪問裝置硬體時,Android 系統將為該硬體元件載入庫模組。

Android Runtime

對於執行 Android 5.0(API 級別 21)或更高版本的裝置,每個應用都在其自己的程序中執行,並且有其自己的 Android Runtime (ART) 例項。ART 編寫為通過執行 DEX 檔案在低記憶體裝置上執行多個虛擬機器,DEX 檔案是一種專為 Android 設計的位元組碼格式,經過優化,使用的記憶體很少。編譯工具鏈(例如 Jack)將 Java 原始碼編譯為 DEX 位元組碼,使其可在 Android 平臺上執行。

ART 的部分主要功能包括:

預先 (AOT) 和即時 (JIT) 編譯 
優化的垃圾回收 (GC) 
更好的除錯支援,包括專用取樣分析器、詳細的診斷異常和崩潰報告,並且能夠設定監視點以監控特定欄位 
在 Android 版本 5.0(API 級別 21)之前,Dalvik 是 Android Runtime。如果您的應用在 ART 上執行效果很好,那麼它應該也可在 Dalvik 上執行,但反過來不一定。

Android 還包含一套核心執行時庫,可提供 Java API 框架使用的 Java 程式語言大部分功能,包括一些 Java 8 語言功能。

原生 C/C++ 庫

許多核心 Android 系統元件和服務(例如 ART 和 HAL)構建自原生程式碼,需要以 C 和 C++ 編寫的原生庫。Android 平臺提供 Java 框架 API 以嚮應用顯示其中部分原生庫的功能。例如,您可以通過 Android 框架的 Java OpenGL API 訪問 OpenGL ES,以支援在應用中繪製和操作 2D 和 3D 圖形。

如果開發的是需要 C 或 C++ 程式碼的應用,可以使用 Android NDK 直接從原生程式碼訪問某些原生平臺庫。

Java API 框架

您可通過以 Java 語言編寫的 API 使用 Android OS 的整個功能集。這些 API 形成建立 Android 應用所需的構建塊,它們可簡化核心模組化系統元件和服務的重複使用,包括以下元件和服務:

豐富、可擴充套件的 View System,可用以構建應用的 UI,包括列表、網格、文字框、按鈕甚至可嵌入的網路瀏覽器 
Resource Manager,用於訪問非程式碼資源,例如本地化的字串、圖形和佈局檔案 
Notification Manager,可讓所有應用在狀態列中顯示自定義提醒 
Activity Manager,用於管理應用的生命週期,提供常見的導航返回棧 
Content Providers,可讓應用訪問其他應用(例如“聯絡人”應用)中的資料或者共享其自己的資料 
開發者可以完全訪問 Android 系統應用使用的框架 API。

系統應用

Android 隨附一套用於電子郵件、簡訊、日曆、網際網路瀏覽和聯絡人等的核心應用。平臺隨附的應用與使用者可以選擇安裝的應用一樣,沒有特殊狀態。因此第三方應用可成為使用者的預設網路瀏覽器、簡訊 Messenger 甚至預設鍵盤(有一些例外,例如系統的“設定”應用)。

系統應用可用作使用者的應用,以及提供開發者可從其自己的應用訪問的主要功能。例如,如果您的應用要發簡訊,您無需自己構建該功能,可以改為呼叫已安裝的簡訊應用向您指定的接收者傳送訊息。

相關推薦

Android系統架構5

Android 是一種基於 Linux 的開放原始碼軟體棧,為廣泛的裝置和機型而建立。下圖所示為 Android 平臺的主要元件。  Android 軟體棧 Linux 核心 Android 平臺的基礎是 Linux 核心。例如,Android Runtime (

Android系統架構——各功能簡介

官網給了我們一個Android整體架構圖,從上到下依次是 應用程式層(Application)、應用程式框架層(Application Framework)、系統執行庫層(Libraries&

Android系統架構圖及各介紹

 Android的系統架構採用了分層架構的思想,如圖1所示。從上層到底層共包括四層,分別是應用程式程式層、應用框架層、系統庫和Android執行時和Linux核心。 圖1:Android系統架構圖       每層功能簡要介紹如下:       一 應用程式層

Android系統架構(一)

查詢 核心 手機 例如 ava 模塊 api 操作系統 運行   一、Android系統版本簡介   Android操作系統已占據了手機操作系統的大半壁江山,截至本文寫作時,Android操作系統系統版本及其詳細信息,已發生了變化,具體信息見下表,當然也可以訪問https:

Android系統架構概述

rap 實現 alt tar 事件 部分 opencore 字體渲染 關系型 目錄: 1、Android系統架構 2、Android類庫 3、四大組件 -----------------------------------------------------------

Android系統硬體抽象原理與實現之WIFI

http://m.blog.csdn.net/linux_zkf/article/details/7492720 整個WIFIHAL實現都很簡單,都是對wpa_supplicant的操作和使用,如果需要自己實現 WIFI HAL可以參考wifi.c來實現wifi.h中所定義的

Android系統架構

Android的系統架構分為四層: 應用程式(Application) 和使用者互動的應用 比如:桌面(home),瀏覽器,抖音,微信,資訊…………… 應用開發者做的工作就在應用層 應用程式框架(Application Framework) 給運行

小白學安卓(一):Android系統架構和應用開發特色

一、Android架構 Android大致可以分為四層架構: Linux核心層 系統執行庫層 應用框架層 應用層 Linux核心層 Android系統是基於Linux核心的,這一層為Android裝置的各種硬體提供了底層的驅動,如顯示驅動

Android 系統架構

Android系統架構分為五層,從上到下依次是應用層、應用框架層、系統執行庫層、硬體抽象層和Linux核心層。 應用層(System Apps):系統內建的應用程式以及非系統級的應用程式都屬於應用層,負責與使用者進行直接互動,通常都是用Java進行開發的; 應用框架層(

Android系統架構特點及優劣分析

Android 架構分析 首先要注意到,Android系統有著極短的開發時間,因此Android在架構上有著四處借鑑的特點。 Android分為四個層,從低到高分別是linux核心層、系統執行庫層、應用程式框架層和應用程式層。在最底層,Android使用了L

一:android系統架構特點概述

v  基於linux作業系統,因此藉助LINUX作業系統對豐富硬體的支援,並且開源、成熟、效能穩定,並且是目前嵌入式系統的主流作業系統,具有大量的使用者和開發人員,因此ANDROID底層作業系統使用LINUX作業系統實在是一個明智之舉,即可以滿足廠商對別人程式碼開放及支援豐富

Android系統架構系統原始碼目錄

1.Android系統架構 Android系統架構分為五層,從上到下依次是應用層、應用框架層、系統執行庫層、硬體抽象層和Linux核心層。 應用層 系統內建的應用程式以及非系統級的應用程式都是屬於應用層。負責與使用者進行直接互動,通常都是用Java進行開發的。

Android系統架構詳解(3)-Android Libraries

3.Android Libraries 作者:李利偉不V 今天講解Libraries層 Android的Libraries層對應一般嵌入式系統,相當於中介軟體層次。Android 的各種庫一般是以系統中介軟體的形式提供的,它們均有的一個顯著特點就是與移動裝置的平臺

android系統架構詳解

先放上一張android系統架構圖: 從上圖中可以看出,Android系統架構為四層結構,從上層到下層分別是:應用程式層、應用程式框架層、系統執行庫層以及Linux核心層,分別介紹如下: 1)應用程式層 Android平臺的應用層上包括各類與使用者直接互動的應用程式,

Android基礎1--Android系統架構

Andorid系統是採用分層的架構,分為四層:           第一層是應用層(電話,郵箱,微信,QQ等等),大部分的Android程式設計師都是基於該層來開發的,          

Android系統架構與四大元件

本篇博文主要講解Android的系統架構。 對於Android開發者來說,有必要了解一下Android應用程式是如何執行的。 Android是一個移動作業系統,它大致分為四層,即Linux核心層,庫和執行時,Framework層和應用層。Android的體系架構鼓勵系統元

android系統架構分析

我們對android有了個大致的瞭解,知道如何搭建android的環境及簡單地寫一個HelloWorld程式,而且知道一個android專案包括哪些資料夾和檔案及相應的作用。本篇將站在頂級的高度——架構,來看android。我開篇就說了,這個系列適合0基礎的人且我也是從0開

Android系統架構介紹.

Android其本質就是在標準的Linux系統上增加了Java虛擬機器Dalvik,並在Dalvik虛擬機器上搭建了一個JAVA的application framework,所有的應用程式都是基於JAVA的application framework之上。 Android主

Android——體系架構 +四

Android作為一個移動裝置的平臺,其軟體層次結構包括了一個作業系統(OS),中介軟體(MiddleWare)和應用程式(Application)。根據Android的軟體框圖,其軟體層次結構自下而上分為以下幾個層次: 第一、作業系統層(OS) 第二、各種庫

Android系統架構、JVM和DalvikVM的區別

一、系統框架 1.Anroid大致分為四層結構,五塊區域 1)應用程式層(Applications) 所有安裝在手機上的應用程式都屬於這一層。 2)應用程式框架(Application Fr