安卓是什嗎?

來源:互聯網
上載者:User

標籤:

 

安卓是什嗎?

安卓是一款手機裝置上的軟體棧,它包括了底層的作業系統,中介軟體和一些關鍵的應用程式。Android SDK(Soft Development Kit)安卓的軟體開發套件提供了一些工具和必要的API使得可以使用java程式語言開始在安卓平台上開發應用程式。

特性:
.Applicationframework應用程式框架:可重用或替換的組件集合。.Dalvik virtual machine Dalvik虛擬機器:在行動裝置上已被最佳化的虛擬機器。.Integratedbrowser 整合瀏覽器:基於開源的webKit引擎。.Optimizedgraphics 最佳化過的圖形處理:採用自訂的2D圖形庫;基於OpenGL ES 1.0的3D圖形庫 (硬體加速可選).SQLite 支援結構化資料存放區.Mediasupport 媒體支援:支援常見的音頻,視頻,靜止的映像格式 (MPEG4, H.264, MP3, AAC, AMR,JPG, PNG, GIF).GSMTelephony (依賴於硬體).Bluetooth,EDGE, 3G, and WiFi (依賴於硬體).Camera,GPS, compass, and accelerometer 照相機,全球定位系統,指南針和加速器(依賴於硬體).Richdevelopment environment 豐富的開發環境:包括裝置模擬器,調試工具,記憶體和效能分析工具, 還有Eclipse IDE的外掛程式。
Android的架構

顯示了安卓系統的主要組成部分。每個部分在底下會有詳細的描述。

應用程式部分

安卓系統整合了很多的核心程式,包括了電子郵件用戶端,SMS程式,日曆,地圖,瀏覽器,連絡人和其他。所有的這些應用程式都是用java語言寫的。

應用程式架構

通過提供一個開放的開發平台,安卓提供給開發人員能建立豐富而創新的應用程式的能力。開發人員可以自由的利用硬體裝置的優勢來做許多事,諸如訪問位置資訊,運行後台服務,設定警報,添加通知到狀態列等,並且還有很多,很多可作的事情。

開發人員可以完全的訪問這些核心應用程式所使用的架構API。應用程式架構的設計就是旨在為了簡化組件的重用。任何應用程式都可以公布它的功能並且其他的程式可以使用這些公布的功能(在架構的安全約束機制的範圍內)。這種機制允許組件被使用者替換。

在應用程式下層的是一系列的服務和系統,包括:

.一系列豐富可擴充的可視化控制項可以被使用來構建應用程式,包括list,grids,boxes,buttons,甚至是一個可以嵌入到應用程式中的瀏覽器。 .Content Providers可以讓應用程式訪問從其他應用程式(如連絡人)來的資料,或者共用它們自己的資料。    .一個Resource Manager,提供訪問不用代碼編寫的資源如本地字串,圖片和一些layout布局檔案。  .一個Notification Manager,能夠讓應用程式在狀態列上顯示給使用者看的通知。  .一個Activity Manager,它負責管理應用程式的生命週期,並提供一個公用的導航回棧(什麼是導航回棧?我不理解,估計翻譯也不正確)。

如果想瞭解更多的詳細資料並且想有更多應用程式方面的學習,請看 Notepad Tutorial.

安卓包括一系列被安卓系統的各個組件(組成部分)所使用的用C或C++所寫的庫。這些功能通過安卓應用程式架構暴露給開發人員。一些核心庫列在下面:

.SystemC library 一個屬於標準C系統庫的BSD派生的實現,為嵌入式基於linux的裝置而調整的。.MediaLibraries 基於PacketVideo的OpenCORE庫;它支援播放和錄製許多流行的音頻和視頻格式,以及靜態影像檔,包括MPEG4,H.264,MP3,AAC,AMR,JPG,和PNG。.SurfaceManager可以控制顯示子系統和多個應用軟體間2D與3D圖層之間完美的聯合。.LibWebCore一個很酷的web瀏覽器引擎,掌控著安卓的瀏覽器和可嵌入的web視圖。.SGL一個基本的二維圖形引擎。.3DLibraries 一個基於OpenGL ES1.0 APIs的實現。這個庫也使用硬體3D加速(如果可以使用)或所包含的,高度已被最佳化過的3D軟體光柵。.FreeType 位元影像和向量字型渲染.SQLite一個可以被應用程式使用的強大又輕量的關係型資料庫引擎。
安卓運行時

安卓提供一系列的核心庫,它們提供了在java語言的核心庫中可以使用的許多功能。

每一個安卓應用程式都運行在它自己的進程,和屬於自己的Dalvik虛擬機器執行個體中。Dalvik被設計使得裝置可以更加有效運行多個虛擬機器。Dalvik虛擬機器執行的是Dalvik可執行檔(.dex)。它被最佳化過,所佔用的記憶體更小,虛擬機器是基於寄存器的,運行.dex檔案,這是由被java編譯器編譯過的class檔案再根據dx工具轉化成的檔案。

Dalvik虛擬機器依賴於linux核心(提供了基本的功能,如線程和低水平的記憶體管理。)

Linux 核心

安卓依賴於linux2.6版的核心系統服務如安全性,記憶體管理,進程管理,網路通訊協定棧,和驅動模型。核心也作為一個抽象層在硬體和軟體堆棧層之間。

安卓是什嗎?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.