Android開發人員指南(8) —— What is Android?

來源:互聯網
上載者:User

前言

  本章內容為開發人員指南(Dev Guide)/Android Basics/What is Android?,版本為Android3.0 r1,翻譯轉載並整理自:"gansc23",再次感謝"gansc23" !期待你一起參與翻譯Android的相關資料,聯絡我over140@gmail.com。

 

聲明

  本文檔轉載並整理自:Android是什麼(What is Android)。

  本文翻譯也部分參考:Android基礎:什麼是Android? (電腦老師)

  Android中文翻譯組:http://goo.gl/6vJQl

 

原文

  http://developer.android.com/guide/basics/what-is-android.html

Android是什嗎? (What is Android?)

Android是一個針對於行動裝置的軟體棧,它包括作業系統,中介軟體和關鍵應用程式。Android SDK提供了在Android平台使用Java程式設計語言進行開發應用程式的必要的工具和API。

 

特性(Features)

* 應用程式架構(Application framework)  可重用並可替換的組件

* Dalvik虛擬機器(Dalvik virtual machine) 為行動裝置而最佳化

* 整合瀏覽器(Integrated browser) 基於開源的WebKit引擎

* 最佳化的圖形處理(Optimized graphics) 以定製的2D圖形庫和基於OpenGLES 1.0規範的3D圖形(可選的硬體加速)為基礎

* SQLite結構化資料存放區

* 媒體支援(Media support) 通用音頻、視頻,還有映像格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

* GSM電話(GSM Telephony) (依賴硬體)

* 藍芽(Bluetooth), EDGE, 3G, and WiFi (依賴硬體)

* 照相機,GPS,指南針,加速感應器(Camera, GPS, compass, and accelerometer) (依賴硬體)

* 豐富的開發環境(Rich development environment) 包括裝置模擬器,調試工具,記憶體和效能分析工具和用於Eclipse IDE的外掛程式

 

Android架構(Android Architecture)

         展示了Android作業系統的主要組件。每個組件在下面有更詳細的描述。

        

 

應用程式(Applications)

         Android將配備一系列核心應用程式,包括電子郵件用戶端,簡訊程式,日曆,地圖,瀏覽器,通訊錄等。所有的應用程式都是使用Java程式設計語言。

 

應用程式框架(Application Framework)

         通過提供一個開放的開發平台,Android提供給開發人員建立極其豐富和創新應用的能力。開發人員自由地享有硬體裝置的優勢,訪問本地資訊,運行後台服務,設定警示,向狀態列添加通知等。

         開發人員可以使用和核心應用程式使用的完全相同的API架構。應用程式架構的設計的目的是為了簡化組件的重用;任何應用程式都發行就緒它的功能,其他的應用程式可能會利用到這些功能(需遵守架構提供的安全約束)。依靠同樣的機制,組件可以被使用者所取代。

         底層的所有的應用程式是一組服務和子系統,包括:

* 一組豐富並且可擴充的view,這組view可以被用來構建一個應用程式,包括列表,表格,文字框,按鈕,甚至可嵌入的Web瀏覽器。

* 一組Content Providers,可以使應用程式訪問其它應用程式的資料(比如通訊錄),或者共用自己的資料。

* 一個資源管理員(Resource Manager),提供對非代碼資源的訪問,比如本地化的字串,圖形和布局檔案。

* 一個通知管理(Notification Manager),可以使所有的應用程式在狀態列顯示定製的提醒。

* 一個Activity管理(Activity Manager),它管理的應用程式的生命週期,並且提供了一個通用的後台切換棧。

如需瞭解一個應用程式的詳細資料和具體樣本,請參考Notepad程式碼範例(Notepad Tutorial)。

 

(Libraries)

         Android包括了一套C/C++庫,這套庫被Android系統的各個組件使用。通過Android的應用程式框架,這些功能被開放給開發人員。其中的一些核心庫如下:

* 系統C庫(System C library) - 一個繼承自BSD的標準C系統實現(libc),被調整成面向基於linux的嵌入式裝置。

* 媒體庫(Media Libraries) - 基於PacketVideo的的OpenCore;該庫支援回放和錄製許多流行的音頻和視頻格式,以及靜態影像檔,包括MPEG4,H.264,MP3,AAC,AMR,JPG和PNG格式。

* Surface管理器(Surface Manager) - 管理顯示子系統,並能無縫地組合多個應用的2D和3D映像層。

* LibWebCore - 一個流行的Web瀏覽器引擎,它對Android瀏覽器和嵌入式Web視圖具有良好的支援。

* SGL - 底層的2D圖形引擎。

* FreeType - 位元影像和向量字型渲染。

* SQLite - 所有的應用程式使用並且強大而輕量級的關係型資料庫引擎。

 

運行時(Android Runtime)

         Android包括一個核心庫的集合,她們提供了Java程式設計語言的核心庫中的絕大多數功能。

         每一個Android應用都在她自己的進程中運行,該進程也屬於某個Dalvik虛擬機器的執行個體。Dalvik被設計成能讓裝置高效地運行多個虛擬機器。 Dalvik虛擬機器執行的是.dex結尾的Dalvik可執行檔格式,該格式被最佳化為最小記憶體使用量。虛擬機器是基於寄存器的,並且運行那些Java編程語 言所編譯的類,這些類被內建的dx工具轉換為.dex格式。

         Dalvik虛擬機器依賴Linux核心來提供底層的功能,比如線程和低級記憶體管理。

 

Linux核心(Linux Kernel)

         Android依賴Linux 2.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.