Android 架構(gòu)

2021-10-21 11:36 更新

Android 架構(gòu)

Android 操作系統(tǒng)是一個(gè)軟件組件的棧,在架構(gòu)圖中它大致可以分為五個(gè)部分和四個(gè)主要層。

Android 架構(gòu)


Linux內(nèi)核

在所有層的最底下是 Linux - 包括大約115個(gè)補(bǔ)丁的 Linux 3.6。它提供了基本的系統(tǒng)功能,比如進(jìn)程管理,內(nèi)存管理,設(shè)備管理(如攝像頭,鍵盤,顯示器)。同時(shí),內(nèi)核處理所有 Linux 所擅長(zhǎng)的工作,如網(wǎng)絡(luò)和大量的設(shè)備驅(qū)動(dòng),從而避免兼容大量外圍硬件接口帶來(lái)的不便。


程序庫(kù)

在 Linux 內(nèi)核層的上面是一系列程序庫(kù)的集合,包括開源的 Web 瀏覽器引擎 Webkit ,知名的 libc 庫(kù),用于倉(cāng)庫(kù)存儲(chǔ)和應(yīng)用數(shù)據(jù)共享的 SQLite 數(shù)據(jù)庫(kù),用于播放、錄制音視頻的庫(kù),用于網(wǎng)絡(luò)安全的 SSL 庫(kù)等。


Android程序庫(kù)

這個(gè)類別包括了專門為 Android 開發(fā)的基于 Java 的程序庫(kù)。這個(gè)類別程序庫(kù)的示例包括應(yīng)用程序框架庫(kù),如用戶界面構(gòu)建,圖形繪制和數(shù)據(jù)庫(kù)訪問(wèn)。一些 Android 開發(fā)者可用的 Android 核心程序庫(kù)總結(jié)如下:

  • android.app - 提供應(yīng)用程序模型的訪問(wèn),是所有 Android 應(yīng)用程序的基石。
  • android.content - 方便應(yīng)用程序之間,應(yīng)用程序組件之間的內(nèi)容訪問(wèn),發(fā)布,消息傳遞。
  • android.database - 用于訪問(wèn)內(nèi)容提供者發(fā)布的數(shù)據(jù),包含 SQLite 數(shù)據(jù)庫(kù)管理類。
  • android.opengl - OpenGL ES 3D 圖片渲染 API 的 Java 接口。
  • android.os - 提供應(yīng)用程序訪問(wèn)標(biāo)注操作系統(tǒng)服務(wù)的能力,包括消息,系統(tǒng)服務(wù)和進(jìn)程間通信。
  • android.text - 在設(shè)備顯示上渲染和操作文本。
  • android.view - 應(yīng)用程序用戶界面的基礎(chǔ)構(gòu)建塊。
  • android.widget - 豐富的預(yù)置用戶界面組件集合,包括按鈕,標(biāo)簽,列表,布局管理,單選按鈕等。
  • android.webkit - 一系列類的集合,允許為應(yīng)用程序提供內(nèi)建的 Web 瀏覽能力。

看過(guò)了 Android 運(yùn)行層內(nèi)的基于 Java 的核心程序庫(kù),是時(shí)候關(guān)注一下 Android 軟件棧中的基于 C/C++ 的程序庫(kù)。


Android運(yùn)行時(shí)

這是架構(gòu)中的第三部分,自下而上的第二層。這個(gè)部分提供名為 Dalvik 虛擬機(jī)的關(guān)鍵組件,類似于 Java 虛擬機(jī),但專門為 Android 設(shè)計(jì)和優(yōu)化。

Dalvik 虛擬機(jī)使得可以在 Java 中使用 Linux 核心功能,如內(nèi)存管理和多線程。Dalvik 虛擬機(jī)使得每一個(gè) Android 應(yīng)用程序運(yùn)行在自己獨(dú)立的虛擬機(jī)進(jìn)程。

Android 運(yùn)行時(shí)同時(shí)提供一系列核心的庫(kù)來(lái)為 Android 應(yīng)用程序開發(fā)者使用標(biāo)準(zhǔn)的 Java 語(yǔ)言來(lái)編寫 Android 應(yīng)用程序。


應(yīng)用框架

應(yīng)用框架層以 Java 類的形式為應(yīng)用程序提供許多高級(jí)的服務(wù)。應(yīng)用程序開發(fā)者被允許在應(yīng)用中使用這些服務(wù)。

  • 活動(dòng)管理者 - 控制應(yīng)用程序生命周期和活動(dòng)棧的所有方面。
  • 內(nèi)容提供者 - 允許應(yīng)用程序之間發(fā)布和分享數(shù)據(jù)。
  • 資源管理器 - 提供對(duì)非代碼嵌入資源的訪問(wèn),如字符串,顏色設(shè)置和用戶界面布局。
  • 通知管理器 - 允許應(yīng)用程序顯示對(duì)話框或者通知給用戶。
  • 視圖系統(tǒng) - 一個(gè)可擴(kuò)展的視圖集合,用于創(chuàng)建應(yīng)用程序用戶界面。

應(yīng)用程序

頂層中有所有的 Android 應(yīng)用程序。你寫的應(yīng)用程序也將被安裝在這層。這些應(yīng)用程序包括通訊錄,瀏覽器,游戲等。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)