Latest web development tutorials

Android 架構

Android 操作系統是一個軟件組件的棧,在架構圖中它大致可以分為五個部分和四個主要層。

Android 架構


Linux內核

在所有層的最底下是Linux - 包括大約115個補丁的Linux 3.6。 它提供了基本的系統功能,比如進程管理,內存管理,設備管理(如攝像頭,鍵盤,顯示器)。 同時,內核處理所有Linux 所擅長的工作,如網絡和大量的設備驅動,從而避免兼容大量外圍硬件接口帶來的不便。


程序庫

在Linux 內核層的上面是一系列程序庫的集合,包括開源的Web 瀏覽器引擎Webkit ,知名的libc 庫,用於倉庫存儲和應用數據共享的SQLite 數據庫,用於播放、錄製音視頻的庫,用於網絡安全的SSL 庫等。


Android程序庫

這個類別包括了專門為Android 開發的基於Java 的程序庫。 這個類別程序庫的示例包括應用程序框架庫,如用戶界面構建,圖形繪製和數據庫訪問。 一些Android 開發者可用的Android 核心程序庫總結如下:

  • android.app - 提供應用程序模型的訪問,是所有Android 應用程序的基石。
  • android.content - 方便應用程序之間,應用程序組件之間的內容訪問,發布,消息傳遞。
  • android.database - 用於訪問內容提供者發布的數據,包含SQLite 數據庫管理類。
  • android.opengl - OpenGL ES 3D 圖片渲染API 的Java 接口。
  • android.os - 提供應用程序訪問標註操作系統服務的能力,包括消息,系統服務和進程間通信。
  • android.text - 在設備顯示上渲染和操作文本。
  • android.view - 應用程序用戶界面的基礎構建塊。
  • android.widget - 豐富的預置用戶界面組件集合,包括按鈕,標籤,列表,佈局管理,單選按鈕等。
  • android.webkit - 一系列類的集合,允許為應用程序提供內建的Web 瀏覽能力。

看過了Android 運行層內的基於Java 的核心程序庫,是時候關註一下Android 軟件棧中的基於C/C++ 的程序庫。


Android運行時

這是架構中的第三部分,自下而上的第二層。 這個部分提供名為Dalvik 虛擬機的關鍵組件,類似於Java 虛擬機,但專門為Android 設計和優化。

Dalvik 虛擬機使得可以在Java 中使用Linux 核心功能,如內存管理和多線程。 Dalvik 虛擬機使得每一個Android 應用程序運行在自己獨立的虛擬機進程。

Android 運行時同時提供一系列核心的庫來為Android 應用程序開發者使用標準的Java 語言來編寫Android 應用程序。


應用框架

應用框架層以Java 類的形式為應用程序提供許多高級的服務。 應用程序開發者被允許在應用中使用這些服務。

  • 活動管理者- 控制應用程序生命週期和活動棧的所有方面。
  • 內容提供者- 允許應用程序之間發布和分享數據。
  • 資源管理器- 提供對非代碼嵌入資源的訪問,如字符串,顏色設置和用戶界面佈局。
  • 通知管理器- 允許應用程序顯示對話框或者通知給用戶。
  • 視圖系統- 一個可擴展的視圖集合,用於創建應用程序用戶界面。

應用程序

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