Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 高級開發 >> 探秘豐富多彩的Android 應用程序

探秘豐富多彩的Android 應用程序

編輯:高級開發

谷歌和其它幾十個手機公司建立了開放手機聯盟,android在未公開之前常被傳聞為Google電話或GPhone,開發既有用又有吸引力的移動服務,並推廣這些產品。

開發者對於核心應用程序使用的相同框架的API具有完全的訪問權限. 應用程序架構被設計來簡化組件的重用; 任何應用程序都能發布其功能。然後任何其它應用程序都可以使用那些功能(以框架強迫的安全限制為准). 這個相同的機制允許組件被用戶所替換。

所有基礎的android 應用程序都是一套服務和體系, 包括: 一套豐富的, 可擴展的視圖(VIEws), 可被用來構建一個應用程序, 包括列表(lists), 柵格(grids), 文本框(text boxes), 按鈕(buttons), 以及內嵌網絡浏覽器 。

內容提供程序(Content Providers)使得應用程序能夠從其它應用程序訪問數據(例如聯系人), 或共享它們自己的數據。資源管理器(Resource Manager), 提供對非代碼資源的訪問, 例如本地化字符串, 圖形, 以及布局文件通知管理器(Notification Manager)使得所有應用程序能夠在狀態欄顯示自定義的警報 。

android包含了一套被android系統各種各樣組件所使用的C/C++庫. 這些功能通過android應用程序框架展現給開發者. 一些核心庫列舉如下:

◆系統C庫 - 一個BSD驅動的標准C系統庫(libc)的實現, 基於嵌入式Linux的設備所調整
◆媒體庫 - 基於PacketVideo的OpenCORE; 這個庫除了支持對很多流行的音視頻格式的回放和錄制之外, 也支持對靜態圖像文件, 包括MPEG4, H.264, MP3, AAC, AMR, JPG, 以及PNG
◆表面管理器 - 管理對顯示子系統的訪問以及從多個應用程序對2D與3D圖形層的無縫合成
◆LibWebCore - 一個現代的網絡浏覽器引擎, 使得android浏覽器和可嵌入的網絡視圖更加強大
◆SGL - 基礎的2D圖形引擎
◆3D庫 - 基於OpenGL ES 1.0 API而實現; 它或使用硬件3D加速(如果可用), 或使用內含的高度優化的3D軟件
◆光柵化引擎 FreeType - 位圖和矢量字體渲染 SQLite - 一個對所有應用程序可用的強大且輕量的關系型數據庫引擎

android包含了一套核心庫, 提供了在Java程序設計語言核心庫中可用的大部分功能,每個android 應用程序運行在它自己的進程中, 具有它自己的Dalvik虛擬機實例。Dalvik被編寫以便於一個設備可以有效地運行多個虛擬機. Dalvik虛擬機通過為最小內存封裝優化的Dalvik可執行文件(.dex)格式來執行文件。

虛擬機是基於寄存器的, 並且運行通過Java語言編譯器編譯並通過所含"dx"工具轉換為.dex格式的類. Dalvik虛擬機對於基礎的功能依賴於Linux內核, 例如線程和低級內存管理。android對於核心系統服務基於Linux 2.6版本, 例如安全性, 內存管理, 進程管理, 網絡堆棧, 以及驅動模型. 內核同樣在硬件和其余軟件棧之間起到一個抽象層的作用。

每一個android 應用程序都有自己的進程,每個進程都對應著一個Dalvik虛擬機進程。當一個android 應用程序中運行著多個 Dalvik 虛擬機時,我們不用擔心其效率問題,Dalvik已對此作了相應的優化。

Dalvik 虛擬機是基於寄存器的,所以速度要快一些,其可執行文件格式是(.dex) 格式。通過"dx"工具可以將Java可執行程序轉換成dex格式。Dalvik虛擬機通過Linux內核來管理線程以及底層的內存操作。

開放手機聯盟的成立和 android 的推出是對現狀的重大改變,在帶來初步效益之前,還需要不小的耐心和高昂的投入。但是,我們認為全球移動用戶從中能獲得的潛在利益是值得付出這些努力的。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved