什麼是android(What Is Android?)

什麼是Android?

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

特色

  • 應用程序框架 ,使組件的重用和替換
  • 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

Android系統架構

應用

Android將與核心應用,包括電子郵件客戶端,SMS程序,日曆,地圖,瀏覽器,聯繫人,和其餘船舶。 全部應用程序都使用Java編程語言編寫的。 web

應用框架

經過提供一個開放的開發平臺,Android提供了開發人員的能力建設極爲豐富和創新的應用。 開發者能夠自由設備的硬件,接入位置信息的優點,運行後臺服務,設置警報,狀態欄添加通知,不少,不少。 數據庫

開發人員能夠徹底訪問核心應用中使用相同的框架API。 應用程序的架構設計簡化了組件的重用,任何應用均可以發佈它的功能和任何其餘應用程序可能使用這些功能(主體框架執行的安全約束)。 該機制容許組件被用戶所取代。 編程

全部的應用程序的基礎是一套服務和系統,包括: 瀏覽器

  • 一套豐富的可擴展的意見能夠用來構建一個應用程序,包括列表,網格,文本框,按鈕,甚至可嵌入的Web瀏覽器
  • 內容提供商 ,使應用程序訪問其餘應用程序的數據(如聯繫人),或共享本身的數據
  • 一個資源管理器 ,提供本地化的字符串,圖形,和佈局文件,如非代碼資源的訪問
  • 一個Notification Manager ,使全部的應用程序,在狀態欄顯示自定義提醒
  • 管理應用程序的生命週期和Activity Manager管理提供了一個共同的導航backstack

有關詳細信息和應用程序的演練,請參見「 記事本「教程。 安全

圖書館

Android包含一套C / C + + Android系統的各個組成部分所使用的庫。 這些功能經過Android應用程序框架暴露給開發者。 下面列出了一些核心庫: 網絡

  • 系統C庫 -一個標準C系統庫(libc)的BSD派生的實施,爲嵌入式的基於Linux的設備調整
  • 媒體庫 -基於PacketVideo的OpenCORE;庫支持許多流行的音頻和視頻格式的播放和錄音,以及靜態圖像文件,包括MPEG4,H.264,支持MP3,AAC,AMR,JPG, PNG
  • 表面經理 -管理多個應用程序,顯示子系統和無縫複合材料的2D和3D圖形層的訪問
  • LibWebCore -一個現代的Web瀏覽器的引擎,它的權力的Android瀏覽器和一個可嵌入的web視圖
  • SGL -底層的2D圖形引擎
  • 3D庫 -基於OpenGL ES 1.0 API的基礎上實現;庫使用或者硬件3D加速(若是可用)或所包含的,高度優化的3D軟件光柵
  • 用於FreeType -位圖和矢量字體渲染
  • SQLite的 -全部的應用程序提供的一個強大的和輕量級的關係數據庫引擎

Android的運行

Android包括一個核心庫提供大部分的功能在Java編程語言核心庫提供。 架構

每一個Android應用都運行在它本身的進程中,與它本身的Dalvik虛擬機實例。 Dalvik被設計,使設備能夠有效地運行多個虛擬機。 Dalvik虛擬機執行的Dalvik可執行文件(。DEX)格式,這是最小的內存佔用優化文件。 VM是基於寄存器的,並運行由Java語言的編譯器已到。dex格式轉化的「dx」工具編譯的類。 app

Dalvik虛擬機依賴於Linux內核做爲線程和低水平內存管理等基礎功能。

Linux內核

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

相關文章
相關標籤/搜索