Gingerbread

Android 2.3 平台為使用者和開發人員推出了許多令人期待的新功能。本文件將概略介紹 Android 2.3 的部分新功能和技術。如要進一步瞭解新版開發人員 API,請參閱 Android 2.3 版本注意事項

新使用者功能

改善易用性與速度的使用者介面

使用者介面會在整個系統中透過許多方式修正,讓學習更容易、使用更快速,而且更耗電。對比黑色的簡化視覺主題,可為通知列、選單和 UI 的其他部分增添色彩和對比。變更選單和設定,可讓使用者輕鬆瀏覽及控制系統和裝置的功能。

更快速、更直覺的文字輸入

Android 螢幕鍵盤經過重新設計及最佳化,可加快文字輸入和編輯速度。+鍵盤也會以較大且生動的樣式顯示目前的字元和字典建議,讓內容更容易閱讀。

鍵盤新增了修正字典中建議字詞的功能。使用者選取已輸入的字詞時,鍵盤會顯示建議,讓使用者選擇以取代選取項目。使用者也可以切換至語音輸入模式,取代所選項目。智慧建議可讓使用者接受建議,然後視需要從原始建議組合中再返回修正。

全新的多點觸控鍵切換功能可讓使用者按下 Shift+<字母> 和 ?123+<符號>> 快速輸入數字和符號,無須手動切換輸入模式。在特定金鑰中,使用者也可以按住鍵並滑動來選取字元,藉此存取含有重音字元、數字和符號的彈出式選單。

輕觸一下即可選取並複製/貼上字詞

輸入文字或瀏覽網頁時,使用者可以快速選取字詞,然後複製至剪貼簿並貼上。按住某個字詞會進入自由選取模式,使用者可以視需要將一組繫結箭頭拖曳至新的位置,然後按下選取區域的任一處來複製邊界區域。對於文字輸入,使用者可以滑動並進入遊標模式,然後拖曳遊標箭頭來輕鬆準確地調整遊標位置。只要同時選取和遊標模式,就不需要使用軌跡球。

改善電源管理

管理應用程式讓裝置保持喚醒的時間過久,或是在背景執行時耗用 CPU 的應用程式,會更積極地管理 Android 系統。透過管理這類應用程式 (如有必要關閉應用程式),系統有助於確保最佳效能和盡可能延長電池續航力。

系統也能讓使用者更清楚瞭解系統元件和執行中的應用程式的耗電量。應用程式設定提供準確的電池使用情形總覽,以及每個元件或應用程式的使用情況及相對耗電量的詳細資料。

控管應用程式

主畫面和啟動器的「選項選單」現在會顯示「管理應用程式」控制項的捷徑,方便查看及管理應用程式活動。使用者進入「Manage Applications」後,新的「Running」分頁會顯示運作中的應用程式清單,以及每個應用程式使用的儲存空間和記憶體。使用者可以閱讀每個應用程式的詳細資訊,並在必要時停止應用程式,或向開發人員回報意見回饋。

全新的溝通與整理方式

一組經過更新的標準應用程式,可讓使用者採用新的方法來管理資訊和關係。


網路通話

使用者可以透過網際網路撥打語音通話給其他擁有 SIP 帳戶的其他使用者。使用者可以將網際網路通話號碼 (SIP 位址) 新增至任何聯絡人,也可以透過快速聯絡人或撥號程式撥打電話。如要使用網路通話功能,使用者必須在自己選擇的 SIP 供應商建立帳戶;網路通話功能並未提供 SIP 帳戶。此外,平台在特定裝置上的 SIP 和網路通話功能的支援則取決於其製造商和相關聯的電信業者。

近場通訊

NFC 讀取器應用程式可讓使用者讀取近距離無線通訊 (NFC) 標記並進行互動。舉例來說,使用者可以輕觸或「滑動」內嵌於海報、貼圖或廣告中的 NFC 標記,然後處理從標記讀取的資料。常見的做法是讀取餐廳、商店或事件中的代碼,然後直接前往含有標記資料中網址的某個網站,藉此評分或註冊。NFC 通訊仰賴裝置硬體中的無線技術,因此平台是否支援特定裝置的 NFC 功能取決於製造商。

下載內容管理

「下載」應用程式可讓使用者輕鬆存取從瀏覽器、電子郵件或其他應用程式下載的任何檔案。下載作業是以系統全新的下載管理員機制為基礎,可供其他應用程式使用,因此能夠更輕鬆地管理及儲存下載內容。

相機

應用程式現在可讓使用者存取裝置上的多個相機,包括前置鏡頭 (如有)。

新的開發人員功能

Android 2.3 提供多種功能和 API,可讓開發人員將新型應用程式導入 Android 平台。

遊戲強化功能

效能

Android 2.3 版包含整個系統的改善項目,可提高所有應用程式的常用作業速度和效率。遊戲開發人員對遊戲開發人員特別感興趣:

  • 並行垃圾收集器:Dalvik VM 推出新的並行垃圾收集器,可將應用程式暫停次數降到最低,協助確保遊戲和類似應用程式的動畫更流暢,回應速度也更快。
  • 事件發布速度更快:現在這個面板現在更有效率地更快速地處理觸控和鍵盤事件,將事件分配期間的 CPU 使用率降到最低。這些變更可以改善所有應用程式的回應速度,但搭配 3D 圖形或其他會耗用大量 CPU 資源的遊戲,特別適合使用觸控事件的遊戲。
  • 更新影片驅動程式:平台使用最新的第三方視訊驅動程式,提高 OpenGL ES 作業的效率,提升整體 3D 圖形效能。

原生輸入和感應器事件

使用原生程式碼的應用程式現在可以直接在原生程式碼中接收及處理輸入和感應器事件,因此能大幅提高效率和回應速度。

平台公開的原生程式庫可讓應用程式處理與架構可用的輸入事件類型。應用程式可以接收來自所有支援的感應器類型的事件,也可以啟用/停用特定感應器,並管理事件傳送率和排入佇列。

陀螺儀和其他全新感應器,改善 3D 動態處理能力

Android 2.3 版新增多種感應器類型的 API 支援,包括陀螺儀、旋轉向量、線性加速、重力和氣壓計感應器。應用程式可將新的感應器與裝置上的任何其他感應器搭配使用,以便精確追蹤三維的裝置動作和方向變化。舉例來說,遊戲應用程式可利用裝置陀螺儀和加速計的讀數,辨識複雜的使用者手勢和動作,例如傾斜、旋轉、推力和切片。

原生音訊的開放式 API

這個平台提供 Khronos OpenSL ES 的軟體實作,這項標準 API 可讓應用程式透過原生程式碼存取強大的音訊控制和效果。應用程式可以使用此 API 管理音訊裝置,並直接透過原生程式碼控制音訊輸入、輸出和處理作業。

原生圖形管理

這個平台為 Khronos EGL 程式庫提供介面,讓應用程式可透過原生程式碼管理圖形環境,以及建立及管理 OpenGL ES 材質和途徑。

活動生命週期的原生存取權、視窗管理

原生應用程式可宣告新的活動類別 NativeActivity,其生命週期回呼會直接在原生程式碼中實作。NativeActivity 及其基礎原生程式碼會在系統中執行,就像其他活動一樣,它們會在應用程式的系統程序中執行,並在應用程式的主要 UI 執行緒上執行,且會接收與其他 Activity 相同的生命週期回呼。

平台也會公開用於管理視窗的原生 API,包括鎖定/解鎖像素緩衝區並直接繪圖的功能。應用程式可透過 API 取得與架構 Surface 物件相關聯的原生視窗物件,並在原生程式碼中直接與架構互動。

原生存取資產、儲存空間

應用程式現在可以存取原生 Asset Manager API,直接從原生程式碼擷取應用程式資產,無需透過 JNI。如果資產經過壓縮,平台會在應用程式讀取資產資料時進行串流解壓縮。可讀取的壓縮 .apk 素材資源大小不再有限制。

此外,應用程式可以存取原生 Storage Manager API,以直接處理由系統下載和管理的 OBB 檔案。請注意,雖然 Android 2.3 提供 OBB 的平台支援,但要到 2011 年初,才能提供建立及管理 OBB 檔案的開發工具。

完善的原生開發環境

Android NDK (r5 以上版本) 提供一套完整的工具、工具鍊和程式庫,可用來開發使用 Android 2.3 平台提供的豐富原生環境的應用程式。如需詳細資訊或下載 NDK,請參閱 Android NDK 頁面。

全新溝通方式

網際網路電話

開發人員現在可以在應用程式中新增 SIP 式網際網路電話功能。Android 2.3 包含完整的 SIP 通訊協定堆疊和整合式通話管理服務,可讓應用程式輕鬆設定撥出和來電的語音通話,而無需管理工作階段、傳輸層級通訊,或音訊錄音或播放。

平台在特定裝置上的 SIP 和網路通話功能支援則由其製造商和相關聯的電信業者決定。

近距離無線通訊 (NFC)

該平台支援的近距離無線通訊 (NFC) 功能,可讓開發人員開始建立一套全新的 Android 應用程式。開發人員可以建立新的應用程式,為使用者、機構、商家和廣告客戶提供鄰近區域的資訊和服務。

應用程式可以使用 NFC API,讀取及回應「已探索」的 NFC 標記,當使用者「輕觸」支援 NFC 的裝置,即可「觸碰」支援 NFC 的裝置至貼圖、智慧型海報,甚至是其他裝置中的元素。收集興趣標記時,應用程式可以回應標記、讀取來自標記的訊息,然後儲存訊息,視需要提示使用者。

從 Android 2.3.3 版開始,應用程式也可以寫入標記,並設定與其他 NFC 裝置的點對點連線。

NFC 通訊仰賴裝置硬體中的無線技術,因此特定裝置是否支援平台 NFC 功能取決於製造商。

互動式多媒體

可混用音效

全新音效 API 可讓開發人員輕鬆為音軌和音效加入等化、低音增強、耳機虛擬化 (擴音音效階段) 和回響,輕鬆建立豐富的音訊環境。開發人員可以在本機音軌中混用多種音效,或是將特效套用至多首歌曲。

支援新的媒體格式

這個平台現在內建 VP8 開放影片壓縮格式和 WebM 開放容器格式相關支援。該平台也會新增對 AAC 編碼和 AMR 寬頻編碼 (在軟體中) 的支援,讓應用程式可擷取比窄頻更高品質的音訊。

存取多部攝影機

Camera API 現在可讓開發人員存取裝置上任何可用的相機,包括前置鏡頭。應用程式可以向平台查詢裝置上的相機數量及其類型與特性,然後開啟所需的相機。舉例來說,視訊通訊應用程式可能會想存取解析度較低的前置鏡頭,而相片應用程式則可能優先使用解析度較高的後置鏡頭。

全新平台技術

媒體架構

  • 新的媒體架構會完全取代 OpenCore,保留先前針對編碼及解碼的所有轉碼器/容器支援。
  • 針對 VP8 開放影片壓縮格式和 WebM 開放式容器格式提供整合支援
  • 新增 AAC 編碼和 AMR 寬頻編碼

Linux 核心

  • 升級至 2.6.35

網路

  • 可由裝置製造商設定的 SIP 堆疊
  • 支援近距離無線通訊 (NFC),由裝置製造商設定
  • 更新 BlueZ 堆疊

Dalvik 執行階段

  • Dalvik VM:
    • 並行垃圾收集器 (目標 3 毫秒暫停)
    • 新增更多 JIT (程式碼產生) 最佳化功能
    • 改善程式碼驗證
    • 使用 StrictMode 偵錯,找出效能和記憶體問題
  • 核心程式庫:
    • 擴充的 I18N 支援 (全球完整編碼、更多語言代碼)
    • 加快格式設定和數字格式設定。例如,浮點格式速度是快 2.5 倍。
    • 根據預設,HTTP 回應會經過 gzip 壓縮。XML 和 JSON API 回應大小可能會減少 60% 以上。
    • 全新集合和公用程式 API
    • 改良的網路 API
    • 改善檔案讀取和寫入控制項
    • 已更新 JDBC
  • 上游專案的更新資訊:
    • OpenSSL 1.0.0a 版本
    • BouncyCastle 1.45
    • ICU 4.4
    • zlib 1.2.5

如要進一步瞭解全新的開發人員 API,請參閱 Android 2.3 版本注意事項API 差異報告