什麼是Android?

轉自:http://wiki.eoe.cn/page/What_Is_Android.html

原始頁面:
http://developer.android.com/guide/basics/what-is-android.html

什麼是Android?

版本:Android 4.0 r1

Android是一個移動設備的程序集合,包括的操作系統、中間件和關鍵的應用程序。 Android SDK 提供了必要的工具和API,使用Java編程語言在Android平臺開發應用程序。

特點

  • * 應用程序框架* 使組件可以被重用和替換
  • * Dalvik虛擬機* 爲移動設備優化
  • * 集成的瀏覽器* 基於開源的WebKit引擎
  • * 基於優化的圖形* 由一個自定義的2D圖形庫支持;3D圖形的OpenGL ES 1.0規範(可選硬件加速)
  • * SQLite* 結構化的數據存儲
  • * 媒體支持* 常見的音頻、視頻和靜止圖像格式(MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF)
  • * GSM電話* (依賴於硬件)
  • * 藍牙、EDGE、3G和WiFi* (依賴於硬件)
  • * 攝像頭、GPS、指南針、和加速度計* (依賴於硬件)
  • * 豐富的開發環境* 包括設備模擬器、調試器、內存和性能分析工具,以及一個Eclipse IDE的插件

Android架構

下圖展示了Android操作系統的主要組成部分,每一部分在下面有更詳細地描述。

文件:Android framework.png

應用程序

Android會附帶了一套核心應用,包括電子郵件客戶端,短信程序,日曆,地圖,瀏覽器,聯繫人等。所有應用程序都使用Java編程語言編寫。

應用框架

Android通過一個開放的開發平臺,給開發人員在創建極爲豐富創新性的應用程序上提供了有力的支持。開發者可以自由設定設備的硬件場景、接入位置信息、運行後臺服務、設置鬧鐘、添加狀態欄通知和更多的在其他優勢方面上。
開發者擁有使用相同的框架API訪問核心應用程序的全部權利。應用程序架構旨在簡化組件的重用,任何應用都可以發佈它的功能,之後任何其他應用程序都能使用這些功能(受強制執行的安全框架約束)。該機制允許用戶更換組件。
在所有應用程序的背後都是使用一套服務和系統,包括:
* 豐富的 視圖和擴展,可以用來構建應用程序,包括列表、網格、文本框、按鈕、甚至內嵌的網頁瀏覽器
* 內容提供者(Content Providers),使應用程序能夠訪問其他應用程序的數據(如通訊錄)或共享自己的數據
* 資源管理器(Resource Manager),提供非代碼資源的訪問,如本地化的字符串、圖形、和佈局文件
* 通知管理器(Notification Manager),使所有的應用程序都能在狀態欄顯示自定義警報信息
* 活動管理器(Activity Manager)管理應用程序的生命週期,並提供一個導航使用的共同的返回棧
對於更多的細節和應用程序的演示,請看記事本教程

Android包括一組由C / C + Android系統組成的各個部分所用的庫。這些功能都通過Android應用程序框架提供給開發者。下面列出了一些核心庫:
* * 系統C庫* - BSD,一個爲基於嵌入式Linux的設備調整的標準C系統庫(libc)的派生實現
* * 媒體庫* - 基於PacketVideo的OpenCORE庫支持許多流行的音頻和視頻格式的播放和錄音,以及靜態圖像文件,包括MPEG4,H.264標準,支持MP3,AAC,AMR,JPG和PNG格式
* * Surface Manager* - 管理訪問顯示子系統和從多個應用程序無縫合成2D和3D圖形層
* * LibWebCore* - 一個爲Android瀏覽器和可嵌入的網頁視圖提供支持的現代化的網頁瀏覽器引擎
* * SGL* - 底層的2D圖形引擎
* * 3D庫* - 基於OpenGL ES 1.0 API的實施庫,無論使用或是包含硬件3D加速(如果可用)和高度優化的3D軟件光柵化
* * FreeType* - 位圖和矢量字體渲染
* * SQLite* - 爲所有的應用程序提供一個強大而且輕量級的關係數據庫引擎

Android運行時

Android包括一套核心庫,提供在Java編程語言的核心庫中大部分可用的功能。
每一個Android應用程序與自己的Dalvik虛擬機運行在它自己的進程中。Dalvik被設計成設備可以有效地運行多個虛擬機。Dalvik虛擬機執行的Dalvik可執行格式(.dex)是最小的內存佔用優化文件。虛擬機是基於寄存器的,運行已所包含的“dx”工具轉化成.dex格式的Java語言的編譯器編譯的類。
Dalvik虛擬機依賴於Linux內核的基本功能,如:線程和低級別的內存管理。

Linux內核

Android依賴Linux 2.6版本的系統核心服務,如安全,內存管理,進程管理,網絡堆棧,驅動模型。內核也作爲硬件和軟件堆棧的其餘部分之間的抽象層。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章