Gingerbread

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

新使用者功能

改善使用者介面,簡單明瞭

使用者介面透過多種系統方式經過修正,讓學習變得更輕鬆、使用起來更快,且耗電量更高。針對黑色和黑色的簡化視覺主題,與通知列、選單和 UI 其他部分相比,都能夠帶來生動和對比的視覺效果。透過選單和設定所做的變更,可讓使用者更輕鬆地瀏覽及控制系統和裝置的功能。

更快、更直覺的文字輸入

Android 螢幕鍵盤經過重新設計,經過最佳化調整,可加快文字輸入與編輯速度。這些鍵本身會經過重新形狀和調整位置,以便改善指定目標,即使在極速的情況下,仍能準確地查看和按下按鈕。鍵盤也會以較大、更生動的風格顯示目前的字元和字典建議,讓您更容易閱讀。

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

全新的多點觸控按鍵組合可讓使用者快速輸入數字和符號,方法是按下 Shift+<letter> 和 ?123+<symbol>,而不用手動切換輸入模式。在特定按鍵中,使用者也可以按住按鍵並滑動來選取字元,藉此存取含有重音字元、數字和符號的彈出式選單。

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

輸入文字或瀏覽網頁時,使用者只要按住字詞,即可快速選取字詞,然後複製到剪貼簿貼上。按一下字詞即可進入免費選取模式,使用者可以視需要將定界箭頭拖曳至新位置,然後再按下選取區域的任一處來複製邊界區域。如果是文字輸入,使用者可以藉由滑動的方式進入遊標模式,然後拖曳遊標箭頭,輕鬆準確地重新調整遊標位置。在選取和遊標模式的情況下,不需要使用軌跡球。

改善電源管理

對於會導致裝置長時間處於喚醒狀態或在背景執行時耗用 CPU 的應用程式,Android 系統扮演的角色更加積極。透過管理這類應用程式 (視情況關閉應用程式),系統會確保盡可能提升效能及最大電池續航力。

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

控管應用程式

現在主畫面和啟動器的「選項選單」中顯示管理應用程式控制項的捷徑,方便您查看及管理應用程式活動。使用者進入「管理應用程式」後,新的「執行中」分頁會列出運作中的應用程式,以及每個應用程式使用的儲存空間和記憶體。使用者可以進一步瞭解各個應用程式的詳細資料,並決定是否停止應用程式,或向開發人員回報意見回饋。

全新的通訊及整理方式

一組更新後的標準應用程式可讓使用者採取新的管理資訊與關係方式。


網路通話

使用者可以透過網際網路,向其他擁有 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 及其基礎原生程式碼會在系統中執行,就像其他 Activity 一樣,會在應用程式的系統程序中執行,並在應用程式的主要 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 的裝置讀取及回應貼圖、智慧海報,甚至是其他裝置中的元素。收集感興趣的標記後,應用程式就可以對標記做出回應、讀取訊息,然後儲存訊息,視需要提示使用者。

從 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 差異報表