1)程序庫
Android 包含一些 C/C++庫,這些庫能被 Android 系統(tǒng)中不同的組件使用。它們通過 Android 應用程 序框架為開發(fā)者提供服務。以下是一些核心庫: * 系統(tǒng) C 庫 - 一個從 BSD 繼承來的標準 C 系統(tǒng)函數(shù)庫( libc ), 它是專門為基于 embedded linux 的設備定制的。 * 媒體庫 - 基于 PacketVideo OpenCORE;該庫支持多種常用的音頻、視頻格式回放和錄制,同時支持 靜態(tài)圖像文件。編碼格式包括 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。 * Surface Manager - 對顯示子系統(tǒng)的管理,并且為多個應用程序提 供了 2D 和 3D 圖層的無縫融合。 * LibWebCore - 一個最新的 web 瀏覽器引擎用,支持 Android 瀏覽器和一個可嵌入的 web 視圖。 * SGL - 底層的 2D 圖形引擎 * 3D libraries - 基于 OpenGL ES 1.0 APIs 實現(xiàn);該庫可以使用硬件 3D 加速(如果可用)或者使用高度優(yōu) 化的 3D 軟加速。 * FreeType -位圖(bitmap)和矢量(vector)字體顯示。 * SQLite - 一個對于所有應用程序可用,功能強勁的輕型關(guān)系型數(shù)據(jù)庫引擎。
2)Android 運行庫
Android 包括了一個核心庫,該核心庫提供了 java 編程語言核心庫的大多數(shù)功能。 每一個 Android 應用程序都在它自己的進程中運行,都擁有一個獨立的 Dalvik 虛擬機實例。Dalvik 被 設計成一個設備可以同時高效地運行多個虛擬系統(tǒng)。 Dalvik 虛擬機執(zhí)行(.dex)的 Dalvik 可執(zhí)行文件,該格 式文件針對小內(nèi)存使用做了優(yōu)化。同時虛擬機是基于寄存器的,所有的類都經(jīng)由 JAVA 編譯器編譯,然后 通過 SDK 中 的 “dx” 工具轉(zhuǎn)化成.dex 格式由虛擬機執(zhí)行。 Dalvik 虛擬機依賴于 linux 內(nèi)核的一些功能,比如線程機制和底層內(nèi)存管理機制。
新聞熱點
疑難解答