[zz]android introduction

bingtears發表於2010-03-10
應用程式
  Android會同一個核心應用程式包一起釋出,該應用程式包包括email客戶端,SMS短訊息程式,日曆,地圖,瀏覽器,聯絡人管理程式等。所有的應用程式都是用JAVA編寫的。
  Android 應用程式框架開發者也完全可以訪問核心應用程式所使用的API框架。該應用程式架構用來簡化元件軟體的重用;任何一個應用程式都可以釋出它的功能塊並且任何其它的應用程式都可以使用其所釋出的功能塊(不過得遵循框架的安全性限制)。該應用程式重用機制使得組建可以被使用者替換。
  以下所有的應用程式都由一系列的服務和系統組成,包括:
  ·一個可擴充套件的檢視(Views )可以用來建應用程式,包括列表(lists),網格(grids),文字框(text boxes),按鈕(buttons),甚至包括一個可嵌入的web瀏覽器
  ·內容管理器(Content Providers )使得應用程式可以訪問另一個應用程式的資料(如聯絡人資料庫),或者共享它們自己的資料。
  ·一個資源管理器 (Resource Manager)提供非程式碼資源的訪問,如本地字串,圖形,和分層檔案( layout files )。
  ·一個通知管理器 (Notification Manager)使得應用程式可以在狀態列中顯示客戶通知資訊。
  ·一個活動類管理器 (Activity Manager)用來管理應用程式生命週期並提供常用的導航回退功能。
  有關更多的細節和怎樣從頭寫一個應用程式,請參考 寫一個 Android 應用程式 部分。
  Android 程式庫Android 包括一個被 Android 系統中各種不同元件所使用的 C/C++ 庫集。該庫通過 Android 應用程式框架為開發者提供服務。以下是一些主要的核心庫:
  系統 C 庫 - 一個從 BSD 繼承來的標準 C 系統函式庫( libc ),專門為基於 embedded linux 的裝置定製。 媒體庫 - 基於 PacketVideo OpenCORE;該庫支援錄放,並且可以錄製許多流行的音訊視訊格式,還有靜態印像檔案包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。 Surface Manager - 對顯示子系統的管理,並且為多個應用程式提供2D和3D圖層的無縫融合。 LibWebCore - 一個最新的web瀏覽器引擎用來支援Android瀏覽器和一個可嵌入的web檢視。 SGL - 一個內建的2D圖形引擎 3D libraries - 基於OpenGL ES 1.0 APIs實現;該庫可以使用硬體3D加速(如果可用)或者使用高度優化的3D軟加速。 FreeType - 點陣圖(bitmap)和向量(vector)字型顯示。 SQLite - 一個對於所有應用程式可用,功能強勁的輕型關係型資料庫引擎。
  Android 執行庫
  Android 包括了一個核心庫,該核心庫提供了JAVA程式語言核心庫的大多數功能。
  每一個Android應用程式都在它自己的程式中執行,都擁有一個獨立的Dalvik虛擬機器例項。Dalvik是針對於同時高效地執行多個VMs來實現的。Dalvik虛擬機器執行.dex的Dalvik可執行檔案,該格式檔案針對最小記憶體使用做了優化。該虛擬機器是基於暫存器的,所有的類都經由JAVA彙編器編譯,然後通過SDK中的dx工具轉化成.dex格式由虛擬機器執行。
  Dalvik虛擬機器依賴於linux的一些功能,比如執行緒機制和底層記憶體管理機制。
  Linux 核心Android 的核心繫統服務依賴於 Linux 2.6 核心,如安全性,記憶體管理,程式管理,網路協議棧和驅動模型。 Linux 核心也同時作為硬體和軟體堆疊之間的硬體抽象層。

相關文章