Android是一個移動設備,包括操做系統,中間件和關鍵應用軟件堆棧。 而 Android SDK提供了必要的工具和API,開始使用Java編程語言在Android平臺開發應用程序。 html
下圖顯示了Android操做系統的主要組成部分。 每一個部分在下面詳細描述。 android
Android將與核心應用,包括電子郵件客戶端,SMS程序,日曆,地圖,瀏覽器,聯繫人,和其餘船舶。 全部應用程序都使用Java編程語言編寫的。 web
經過提供一個開放的開發平臺,Android提供了開發人員的能力建設極爲豐富和創新的應用。 開發者能夠自由設備的硬件,接入位置信息的優點,運行後臺服務,設置警報,狀態欄添加通知,不少,不少。 數據庫
開發人員能夠徹底訪問核心應用中使用相同的框架API。 應用程序的架構設計簡化了組件的重用,任何應用均可以發佈它的功能和任何其餘應用程序可能使用這些功能(主體框架執行的安全約束)。 該機制容許組件被用戶所取代。 編程
全部的應用程序的基礎是一套服務和系統,包括: 瀏覽器
Notification Manager
,使全部的應用程序,在狀態欄顯示自定義提醒 Activity Manager
管理提供了一個共同的導航backstack 有關詳細信息和應用程序的演練,請參見「 記事本「教程。 安全
Android包含一套C / C + + Android系統的各個組成部分所使用的庫。 這些功能經過Android應用程序框架暴露給開發者。 下面列出了一些核心庫: 網絡
Android包括一個核心庫提供大部分的功能在Java編程語言核心庫提供。 架構
每一個Android應用都運行在它本身的進程中,與它本身的Dalvik虛擬機實例。 Dalvik被設計,使設備能夠有效地運行多個虛擬機。 Dalvik虛擬機執行的Dalvik可執行文件(。DEX)格式,這是最小的內存佔用優化文件。 VM是基於寄存器的,並運行由Java語言的編譯器已到。dex格式轉化的「dx」工具編譯的類。 app
Dalvik虛擬機依賴於Linux內核做爲線程和低水平內存管理等基礎功能。
Android的核心繫統服務,如安全,內存管理,進程管理,網絡堆棧和驅動程序模型依賴在Linux 2.6版本。 內核也做爲硬件和軟件堆棧的其他部分之間的抽象層。