Android 操作系統是一個軟件組件的棧,在架構圖中它大致可以分為五個部分和四個主要層。
在所有層的最底下是 Linux - 包括大約115個補丁的 Linux 3.6。它提供了基本的系統功能,比如進程管理,內存管理,設備管理(如攝像頭,鍵盤,顯示器)。同時,內核處理所有 Linux 所擅長的工作,如網絡和大量的設備驅動,從而避免兼容大量外圍硬件接口帶來的不便。
在 Linux 內核層的上面是一系列程序庫的集合,包括開源的 Web 瀏覽器引擎 Webkit ,知名的 libc 庫,用于倉庫存儲和應用數據共享的 SQLite 數據庫,用于播放、錄制音視頻的庫,用于網絡安全的 SSL 庫等。
這個類別包括了專門為 Android 開發的基于 Java 的程序庫。這個類別程序庫的示例包括應用程序框架庫,如用戶界面構建,圖形繪制和數據庫訪問。一些 Android 開發者可用的 Android 核心程序庫總結如下:
看過了 Android 運行層內的基于 Java 的核心程序庫,是時候關注一下 Android 軟件棧中的基于 C/C++ 的程序庫。
這是架構中的第三部分,自下而上的第二層。這個部分提供名為 Dalvik 虛擬機的關鍵組件,類似于 Java 虛擬機,但專門為 Android 設計和優化。
Dalvik 虛擬機使得可以在 Java 中使用 Linux 核心功能,如內存管理和多線程。Dalvik 虛擬機使得每一個 Android 應用程序運行在自己獨立的虛擬機進程。
Android 運行時同時提供一系列核心的庫來為 Android 應用程序開發者使用標準的 Java 語言來編寫 Android 應用程序。
應用框架層以 Java 類的形式為應用程序提供許多高級的服務。應用程序開發者被允許在應用中使用這些服務。
頂層中有所有的 Android 應用程序。你寫的應用程序也將被安裝在這層。這些應用程序包括通訊錄,瀏覽器,游戲等。