
歡迎使用 Android 4.4 KitKat!
Android KitKat 為所有平台的更多裝置帶來 Android 所有最創新、最精美、最實用的功能。
本文件將概略說明開發人員適用的新功能。
如要進一步瞭解適用於消費者的 KitKat,請前往 www.android.com。
讓所有人都能使用 Android
Android 4.4 經過特別設計,可以在更多種裝置上執行快速、流暢又能回應各種情況,包括全球數百萬部入門級裝置 (僅 512MB RAM 低)。
KitKat 簡化了所有主要元件,藉此降低記憶體用量,並引進新的 API 與工具,協助您建立反應新穎、反應靈敏且節省記憶體的應用程式。
打造新一代 Android 裝置的原始設備製造商 (OEM) 可以利用指定目標的建議和選項,有效率地執行 Android 4.4,即使在低記憶體裝置上也是如此。Dalvik JIT 程式碼快取調整、核心相同頁面合併 (KSM)、切換至 zRAM,以及其他最佳化項目,可協助管理記憶體。透過新的設定選項,原始設備製造商 (OEM) 可以調整處理程序的記憶體不足層級、設定圖形快取大小、控管記憶體收回功能等等。
在 Android 本身中,對整個系統所做的變更有助於改善記憶體管理,並減少記憶體用量。核心系統程序經過剪輯,以減少堆積,現在這類程序現在可以更積極保護系統記憶體,避免使用佔用大量 RAM 的應用程式。當多項服務同時啟動 (例如網路連線變更時) 時,Android 現在會在小型群組中依序啟動服務,避免發生記憶體需求高峰。
對開發人員來說,Android 4.4 可協助您在所有裝置上提供高效率且反應靈敏的應用程式。這個新的 API ActivityManager.isLowRamDevice() 可讓您調整應用程式的行為,以符合裝置的記憶體設定。 視您想在入門級裝置上支援的用途而定,您可以視需要修改或停用大型記憶體功能。如要進一步瞭解如何針對低記憶體裝置為應用程式進行最佳化處理,請按這裡。
新工具也能讓您洞悉應用程式記憶體用量。procstats 工具會詳細說明記憶體用量變化,以及前景應用程式和背景服務的執行時間和記憶體用量。系統也支援新的裝置端檢視畫面。經過強化的 meminfo 工具,可更輕鬆地找出記憶體趨勢和問題,並且顯示之前未可見的額外記憶體負擔。
透過主機卡片模擬的全新 NFC 功能
Android 4.4 推出了全新的平台支援,可透過主機卡片模擬 (HCE) 進行付款、會員方案、卡片存取、大眾運輸票證和其他自訂服務,以 NFC 安全交易。透過 HCE,Android 裝置上的任何應用程式都可以模擬 NFC 智慧型卡片,使用者只要輕觸一下就能啟動交易,過程中不必在裝置上啟用已佈建的安全元素 (SE)。應用程式也可以透過新的閱讀器模式,當做 HCE 卡片和其他 NFC 交易的讀卡機。

Android HCE 會模擬 ISO/IEC 7816 的智慧型卡片,這些卡片採用感應式 ISO/IEC 14443-4 (ISO-DEP) 通訊協定進行傳輸。現今有許多系統都能使用這些卡片,包括現有的 EMVCO NFC 付款基礎架構。Android 會使用 ISO/IEC 7816-4 中定義的應用程式 ID (AID),將交易轉送至正確的 Android 應用程式。
應用程式在資訊清單檔案中宣告自己支援的 AID,以及指出可用支援類型 (例如「付款」) 的類別 ID。如果多個應用程式在同一類別中支援同一個 AID,Android 會顯示對話方塊,讓使用者選擇要使用的應用程式。
當使用者在銷售點感應器輕觸付款時,系統會擷取偏好的 AID,並將交易轉送至正確的應用程式。應用程式會讀取交易資料,並使用任何本機或網路式服務進行驗證,然後完成交易。
裝置必須具備 NFC 控制器,才能使用 Android HCE。大多數的 NFC 控制器已廣泛支援 HCE,其已提供 HCE 與 SE 交易的動態支援。支援 NFC 的 Android 4.4 裝置包含感應付款功能,即可使用 HCE 輕鬆付款。
列印架構
Android 應用程式現在可以透過 Wi-Fi 或雲端託管服務 (例如 Google 雲端列印) 列印任何類型的內容。在支援列印功能的應用程式中,使用者可以找出可用的印表機、變更紙張大小、選擇要列印的頁面,以及列印幾乎所有類型的文件、圖片或檔案。
Android 4.4 推出了原生平台支援,以及用於管理列印和新增類型印表機支援的 API。平台提供列印管理工具,可在要求列印的應用程式與已安裝的列印服務 (負責處理列印要求) 之間進行中介。列印管理員提供共用服務和用於列印的系統 UI,讓使用者能以一致的方式控管任何應用程式的列印作業。列印管理員也會確保內容在各個程序間 (從應用程式) 傳輸到列印服務時安全無虞。

您可以為應用程式新增列印支援,或開發列印服務,以支援特定類型的印表機。
印表機製造商可以使用新的 API 自行開發列印服務,這項可插入的元件可加入供應商專屬的邏輯和服務,以便與特定類型的印表機進行通訊。他們可以建構列印服務,並透過 Google Play 發布,讓使用者可以輕鬆在裝置上尋找及安裝這些列印服務。就像其他應用程式一樣,您隨時可以無線更新列印服務。
用戶端應用程式可以使用新的 API 在應用程式中新增列印功能,只需稍微修改程式碼即可。在大多數情況下,您都會在動作列和 UI 中新增列印動作,以選擇要列印的項目。您也可以實作 API 以建立列印工作、查詢列印管理員的狀態,以及取消工作。這可讓您列印幾乎任何類型的內容,無論是本機圖片和文件、網路資料或是算繪成畫布的檢視畫面都沒問題。
為了盡可能提高相容性,Android 會使用 PDF 做為列印的主要檔案格式。在列印之前,應用程式需要產生經過正確分頁 PDF 版本的內容。為了方便起見,Print API 提供原生和 WebView 輔助類別,可讓您使用標準 Android 繪圖 API 建立 PDF。如果您的應用程式知道如何繪製內容,就可以快速建立要列印的 PDF。
在搭載 Android 4.4 的裝置上,大多數都會以列印服務形式預先安裝 Google 雲端列印,以及部分支援列印的 Google 應用程式,包括 Chrome、雲端硬碟、圖片庫和 QuickOffice。
儲存空間存取架構
全新的儲存空間存取架構可讓使用者透過偏好的文件儲存空間供應商,輕鬆瀏覽及開啟文件、圖片和其他檔案。標準的易於使用的標準使用者介面,可讓使用者在不同的應用程式和供應商之間,以一致的方式瀏覽檔案及存取最近。


Box 和其他服務供應商已將自家服務整合至儲存空間存取架構,讓使用者在整個系統中輕鬆透過應用程式存取文件。
雲端或本機儲存空間服務可以實作可封裝其服務的新文件提供者類別,藉此參與這個生態系統。供應商類別包含所有需要的 API,才能向系統註冊供應商,以及在供應器中管理瀏覽、讀取和寫入文件。文件提供者可以讓使用者存取任何可以檔案形式呈現的遠端或本機資料,包括文字、相片、桌布、影片、音訊等。
如果您為雲端或本機服務建立文件供應程式,可以將其做為現有 Android 應用程式的一部分提供給使用者。下載及安裝該應用程式後,使用者便可從加入此架構的任何應用程式立即存取您的服務。讓使用者更容易找到您的服務,因此有助於提高曝光數和使用者參與度。
如果您開發用來管理檔案或文件的用戶端應用程式,只要使用新的 CREATE_DOCUMENT 或 OPEN_DOCUMENT 意圖來開啟或建立檔案,就能與儲存空間存取架構整合,系統會自動顯示瀏覽文件的標準 UI,包括所有可用的文件供應程式。
您不必提供任何供應商專屬程式碼,就能為所有供應商整合用戶端應用程式一次,使用者新增或移除供應商後,就能繼續透過您的應用程式存取偏好的服務,不需要在程式碼中進行任何變更或更新。
儲存空間存取架構已與現有的 GET_CONTENT 意圖整合,因此使用者也能透過新系統 UI 存取先前的所有內容和資料來源,以便瀏覽。應用程式可以繼續使用 GET_CONTENT 讓使用者匯入資料。有了儲存空間存取架構和瀏覽系統 UI,使用者就能更輕鬆地從更多來源尋找並匯入資料。
搭載 Android 4.4 的大多數裝置都會以文件供應者的形式預先整合了 Google 雲端硬碟和本機儲存空間,與檔案搭配使用的 Google 應用程式也會使用新架構。
低耗電感應器
感應器批次處理
Android 4.4 推出了硬體感應器批次處理的平台支援,這項新的最佳化功能可大幅降低持續運作的感應器活動消耗電力。
感應器批次處理功能,Android 會與裝置硬體搭配運作,以分批收集及傳送感應器事件,而非在偵測到事件時個別傳送。如此一來,裝置的應用程式處理器就能在批次傳送前保持低耗電的閒置狀態。您可以使用標準事件監聽器向任何感應器要求批次處理事件,並控制批次接收的間隔時間。您也可以要求在批次週期之間立即傳送事件。
感應器批次處理是低電力和長時間執行用途的理想選擇,例如健身、位置追蹤、監控等。不僅能提升應用程式的效率,還能持續追蹤感應器事件,即使螢幕關閉且系統處於休眠狀態也一樣。
感應器批次處理功能目前支援 Nexus 5,我們也正在與晶片組合作夥伴合作,盡快擴大支援更多裝置。


Moves 和 Runtastic Pedometer (跑步計量計) 會使用硬體步驟偵測工具來提供長時間執行的低耗電服務。
計步偵測器和計步器
Android 4.4 也為兩個新的複合感應器 (包括步數偵測器和步數計算) 新增平台支援,讓應用程式在使用者走路、跑步或爬樓梯時追蹤步數。這些新的感應器會導入硬體,以降低耗電量。
步數偵測器會分析加速計的輸入內容,確認使用者採取了某個步驟,並在每次步驟中觸發事件。步驟計數器會追蹤自上次裝置重新啟動以來的總步驟數,並在每次變更步數時觸發事件。邏輯和感應器管理內建於平台和基礎硬體中,因此您不需要在應用程式中維護自己的偵測演算法。
步數偵測器和計數器感應器適用於 Nexus 5,我們正在與晶片組合作夥伴合作,盡快將這些感應器導入新裝置。
簡訊服務供應商
如果您開發的是採用簡訊或多媒體訊息的通訊應用程式,現在可以透過共用簡訊提供者和新的 API 來管理應用程式的訊息儲存和擷取作業。新的簡訊供應商和 API 會為處理簡訊或多媒體訊息的所有應用程式定義標準化互動模型。
除了新的供應商和 API 外,Android 4.4 還提供新的語意,可用於接收訊息及寫入供應器。收到訊息時,系統會使用新的 SMS_DELIVER 意圖,直接將訊息轉送至使用者的預設訊息應用程式。其他應用程式仍可使用 SMS_RECEIVED 意圖監聽傳入的訊息。此外,系統現在僅允許預設應用程式將訊息資料寫入供應器,但其他應用程式隨時可以讀取。即使應用程式不是使用者預設,還是可以傳送訊息,系統會代表應用程式處理將訊息寫入供應器的作業,讓使用者能在預設應用程式中看到訊息。
新的供應商和語意可在安裝多個訊息應用程式的情況下改善使用者體驗,並協助您使用完整支援、與前瞻性的 API 建構新的訊息功能。
打造精美應用程式的新方法

全新的沉浸模式可讓應用程式使用螢幕上的每個像素顯示內容及擷取觸控事件。
全螢幕沈浸模式
現在,您的應用程式可以使用裝置螢幕上的所有像素展示內容及擷取觸控事件。Android 4.4 新增全螢幕沉浸模式,可讓您在手機和平板電腦上建立從邊緣到邊緣的全出式使用者介面,隱藏所有系統使用者介面 (例如狀態列和導覽列)。最適合用於提供豐富的視覺內容,例如相片、影片、地圖、書籍和遊戲。
在新模式中,即使使用者與您的應用程式或遊戲互動,系統 UI 仍會隱藏,您還是可以從螢幕上的任何位置擷取觸控事件,甚至是系統列佔用的區域。這樣一來,您就能透過這些絕佳方法,在應用程式或遊戲中打造更大、更豐富、更有臨場感的 UI,同時減少視覺幹擾。
為確保使用者隨時都能透過全螢幕模式輕鬆存取系統 UI,Android 4.4 支援新的手勢。在沉浸模式下,從螢幕頂端或底部邊緣滑動即可顯示系統 UI。
如要返回沉浸模式,使用者可以輕觸螢幕邊界外的螢幕,或是等待一小段時間自動隱藏長條。為了提供一致的使用者體驗,新的手勢也適用於先前隱藏狀態列的方法。
動畫場景轉換架構
大多數應用程式都會根據數個主要 UI 狀態來建構資料流,並顯示不同的動作。許多應用程式也會使用動畫,協助使用者瞭解這些狀態的進度,以及每個狀態中可用的動作。為方便您在應用程式中製作高品質的動畫,Android 4.4 推出了新的轉換架構。
轉換架構可讓您定義「場景」 (通常是檢視區塊階層和轉場效果),說明如何在使用者進入或離開這些場景時,為場景製作動畫或轉換。您可以使用多種預先定義的轉換類型,根據特定屬性 (例如版面配置邊界或瀏覽權限) 為場景製作動畫。另外還有一種自動轉換類型,可在場景變更期間自動淡出、移動及調整檢視畫面的大小。此外,您可以定義自訂轉場效果,為應用程式最重要的屬性建立動畫效果,也可以視需要插入自己的動畫樣式。
採用轉換架構後,您也可以即時為 UI 進行變更,不必定義場景。例如,您可以為檢視區塊階層進行一系列變更,然後讓 TransitionManager 自動針對這些變更執行延遲轉換。
設定轉場效果後,可以直接從應用程式叫用這些轉場效果。舉例來說,您可以呼叫單一方法開始轉場效果、在檢視區塊階層中做出各種變更,而下一個影格動畫會自動開始為您指定的變更建立動畫效果。

應用程式可以使用新的視窗樣式來要求半透明的系統列。
如要自訂控制在應用程式流程中特定場景之間的轉場效果,您可以使用 TransitionManager。TransitionManager 可讓您定義場景與針對特定場景變更執行的轉場之間的關係。
半透明系統 UI 樣式
為了讓內容發揮最大效用,您現在可以使用新的視窗樣式和主題來要求半透明系統 UI,包括狀態列和導覽列。為確保導覽列按鈕或狀態列資訊的易讀性,系統列後方會顯示微小的漸層。典型的使用情形是必須讓桌布呈現的應用程式。
加強型通知存取權
通知監聽器服務現在可以查看關於使用通知建構工具 API 建構的通知的更多資訊。事件監聽器服務可以存取通知的動作,以及新的額外欄位 (文字、圖示、圖片、進度、計時器等),以擷取更簡潔的通知相關資訊,並以不同的方式呈現資訊。
Chromium 網頁檢視
Android 4.4 包含以 Chromium 為基礎的全新 WebView 實作方式。新版 Chromium WebView 提供最新的標準支援、效能和相容性,可讓您建構和顯示網路內容。
Chromium WebView 支援 HTML5、CSS3 和 JavaScript。它支援 Android 30 版 Google Chrome 的大部分 HTML5 功能。此外,這個版本的 JavaScript 引擎 (V8) 也經過更新,可大幅提升 JavaScript 的效能。
此外,新版 Chromium WebView 支援使用 Chrome 開發人員工具進行遠端偵錯。舉例來說,您可以在開發機器上使用 Chrome 開發人員工具,在行動裝置上檢查、偵錯及分析 WebView 內容。
搭載 Android 4.4 以上版本的所有相容裝置都提供新版 Chromium WebView。您可以立即運用新的 WebView,並且盡可能減少對現有應用程式和內容做出的修改。在大多數情況下,您的內容會順暢地遷移至新的實作項目。
全新媒體功能
錄製螢幕畫面
您現在可以直接從 Android 裝置輕鬆製作應用程式的高畫質影片。Android 4.4 新增了螢幕錄影支援功能,並提供螢幕錄製公用程式,可讓您透過 USB 連接到您的 Android SDK 環境的裝置,開始及停止錄影。你可以透過這個絕佳的新方式,為應用程式、測試素材、行銷影片等項目建立逐步操作說明和教學課程。
有了螢幕錄製公用程式,您可以擷取裝置螢幕畫面的內容,並將影片儲存在裝置上為 MP4 檔案。您可以根據裝置支援的任何解析度和位元率錄製影片,輸出結果則會保留螢幕的長寬比。根據預設,公用程式會選擇與裝置目前螢幕方向相等或接近裝置的螢幕解析度的解析度。影片錄製完成後,您可以直接透過裝置分享影片,或將 MP4 檔案提取至主機電腦進行後製。
如果應用程式會播放您不想被螢幕錄影器擷取的影片或其他受保護內容,您可以使用 SurfaceView.setSecure() 將內容標示為安全。
您可以使用 adb shell screenrecord 指令,透過 Android SDK 內含的 ADB 工具存取螢幕錄影功能。您也可以在 Android Studio 中透過 logcat 啟動這個 API。
透過自動調整播放功能切換解析度
Android 4.4 為 Android 媒體架構提供正式的自動調整播放支援功能,自動調整播放是 MPEG-DASH 和其他格式的影片解碼器的選用功能,可在播放時流暢變更解析度。用戶端可以開始為解碼器輸入視訊影格提供新的解析度,輸出緩衝區的解析度會自動變更,而不會產生明顯的差距。
Android 4.4 中的切換解決方案可讓媒體應用程式提供更優異的串流影片體驗。應用程式可以使用現有的 API,在執行階段檢查是否有適應性播放支援,並使用 Android 4.4 中新推出的 API 實作解析度切換。
DASH 的常見加密方式
Android 現在支援 MPEG-DASH 的通用加密 (CENC) 功能,為保護內容提供標準的多平台 DRM 配置。應用程式可以透過 Android 的模組化 DRM 架構和平台 API,善用 CENC 來支援 DASH。
HTTP 直播
Android 4.4 將平台的 HTTP 即時串流 (HLS) 支援更新為 HLS 規格第 7 版 (通訊協定第 4 版) 的超集合。詳情請參閱 IETF 草稿。
音訊通道至 DSP
為提供高效能、低功耗的音訊播放,Android 4.4 為裝置晶片組的數位訊號處理器 (DSP) 新增音訊通道平台支援。啟用通道後,音訊解碼和輸出效果就會卸載至需求端平台,因此喚醒應用程式處理器的頻率會降低,耗電量也會降低。
音訊通道可大幅改善電池續航力,例如在螢幕關閉的情況下透過耳機聆聽音樂。舉例來說,Nexus 5 提供音訊通道的總播放時間,最長可達 60 小時,比非通道音訊多出超過 50%。
媒體應用程式可在支援的裝置上利用音訊通道,無須修改程式碼。只要裝置有可用的通道,系統就會套用通道,將音訊播放最佳化。

以視覺化方式呈現「聲音強化器」效果如何讓語音內容更清晰。
音訊通道功能需要裝置硬體的支援。目前 Nexus 5 提供音訊通道功能,我們也正在與晶片組合作夥伴合作,設法盡快讓更多裝置支援此功能。
音訊監控
應用程式可以使用 Visualizer 效果中的全新監控工具,取得裝置上目前播放音訊的峰值和 RMS 等級更新。舉例來說,您可以在音樂圖像影片中使用這項創意素材,或是在媒體播放器中導入播放計量功能。
音量強化工具
媒體播放應用程式可以使用全新的 LoudnessBoostr 功能,提高語音內容的音量,就像壓縮器一樣具有專門針對語音調整的時間常數。
用於改善影音同步的音訊時間戳記
音訊架構現在可以將音訊輸出 HAL 中的簡報時間戳記回報給應用程式,以提升音訊與視訊同步的品質。音訊時間戳記可讓應用程式判斷特定音訊影格何時會在裝置端向使用者顯示,或是出現在裝置外部;您可以使用時間戳記資訊,更準確地將音訊與視訊影格同步處理。
Wi-Fi CERTIFIED MiracastTM
Android 4.4 裝置現在可以通過 Wi-Fi Alliance Wi-Fi 螢幕規格認證 (與 Miracast 相容)。為協助測試,新的無線螢幕開發人員選項提供了無線螢幕認證的進階配置控制項和設定。如要存取這個選項,請依序前往「設定」>「開發人員選項」>「無線螢幕認證」。Nexus 5 是 Miracast 認證的無線顯示裝置。
RenderScript 運算

Android 4.4 相較於 Android 4.3 的效能基準,可在相同的裝置 (Nexus 7、Nexus 10) 上執行。
持續改善效能
應用程式使用 RenderScript 時,可藉由 RenderScript 執行階段本身的持續性調整效能而受益,無須重新編譯。右側圖表顯示 Android 4.4 在兩個熱門晶片組上的效能提升幅度。
GPU 加速功能
在支援的裝置上使用 RenderScript 的應用程式均可享有 GPU 加速功能,不必變更程式碼或重新編譯。自 Nexus 10 首次推出 RenderScript GPU 加速後,其他硬體合作夥伴也開始支援這項功能。
Android 4.4 現已推出 GPU 加速功能,Nexus 5、Nexus 5、Nexus 4、Nexus 7 (2013) 和 Nexus 10 也正持續與合作夥伴合作,盡快將這項服務推送到更多裝置。
Android NDK 中的 RenderScript
您現在可以直接透過原生程式碼利用 RenderScript。Android Native Development Kit (NDK) 提供的全新 C++ API,方便您存取透過架構 API 提供的相同 RenderScript 功能,包括指令碼內建函式、自訂核心等。
如果您在原生程式碼中需要處理大量效能的大型工作,可以使用 RenderScript 執行這些工作,並將這些工作與原生程式碼整合。RenderScript 具備多種裝置的效能,而且能自動支援多核心 CPU、GPU 和其他處理器。
透過 NDK 建構使用 RenderScript 的應用程式時,您可以將該應用程式發布到任何搭載 Android 2.2 以上版本的裝置,就像適用於架構 API 的 RenderScript 支援資料庫一樣。
圖像
GLES2.0 SurfaceFlinger
Android 4.4 將 SurfaceFlinger 從 OpenGL ES 1.0 升級至 OpenGL ES 2.0。
Hardware Composer 支援虛擬螢幕
最新版本的 Android Hardware Composer (HWComposer 1.3) 除了支援主要外部螢幕 (例如 HDMI) 螢幕,還支援單一虛擬螢幕的硬體組合,並提升 OpenGL ES 互通性。
全新的連線類型
新的藍牙設定檔
Android 4.4 支援兩個新的藍牙設定檔,讓應用程式能夠支援更廣泛的低耗電和媒體互動。藍牙 HID 搭配 GATT (HOGP) 使用低功率週邊裝置 (例如滑鼠、搖桿和鍵盤) 來提供低延遲的連結。藍牙 MAP 可讓應用程式與鄰近裝置互通訊息,例如用於免持操作的汽車終端機或其他行動裝置。做為 藍牙 AVRCP 1.3 的擴充功能,使用者現在可以透過藍牙裝置設定系統的絕對音量。
HOGP、MAP 和 AVRCP 的平台支援是以 Google 和 Android 4.2 版 Broadcom 導入的 Bluedroid 藍牙堆疊建構而成。您也可以立即在 Nexus 裝置和其他提供相容藍牙功能的 Android 相容裝置上取得支援服務。
紅外線擴大機
Android 4.4 導入了內建 IR 爆破機的平台支援,以及全新的 API 和系統服務,以便您建構應用程式來充分運用這些應用程式。
您可以使用這個新 API 建構應用程式,讓使用者遠端控製附近的電視、調音器、開關和其他電子裝置。這個 API 可讓應用程式檢查手機或平板電腦是否具有紅外線發射器、查詢其電信業者頻率,然後傳送紅外線信號。
由於這個 API 為所有搭載 Android 4.4 以上版本的 Android 裝置提供標準,因此您的應用程式無須編寫自訂整合程式碼,即可支援更多供應商。
支援 Wi-Fi TDLS
Android 4.4 支援 Wi-Fi 通道直接連結設定 (TDLS),讓已連上相同 Wi-Fi 網路的裝置能夠流暢地在裝置間串流播放媒體和其他資料。
無障礙功能
系統通用的隱藏式輔助字幕設定
Android 4.4 現在新增了全系統的隱藏式輔助字幕偏好設定,支援為應用程式提供更優質的無障礙體驗。使用者可以依序前往「設定」 >「無障礙設定」 >「字幕」設定全域字幕偏好設定,例如是否顯示字幕,以及顯示的語言、文字大小和文字樣式。
使用影片的應用程式現在可以存取使用者的字幕設定,並配合使用者的偏好設定調整呈現方式。全新的字幕管理員 API 可讓您查看及監控使用者的字幕偏好設定。字幕管理員可提供使用者偏好的字幕狀態、偏好的語言代碼、縮放比例係數和文字樣式。文字樣式包含前景和背景顏色、邊緣屬性和字體。

應用程式現在可以參照使用者的系統通用字幕偏好設定。設定中會顯示預期顯示樣式的範例。
此外,使用 VideoView 的應用程式可以使用新的 API 傳遞字幕串流,以及要轉譯的影片串流。系統會根據使用者的系統通用設定,自動處理視訊影格中的字幕顯示作業。VideoView 目前僅支援自動顯示 WebVTT 格式的字幕。
所有顯示字幕的應用程式都應確保檢查使用者的系統通用字幕偏好設定,並盡可能根據這些偏好設定顯示字幕。如要進一步瞭解特定設定組合的顯示外觀,您可以直接在「設定」應用程式中預覽不同語言、大小和樣式的字幕。
強化的 Accessibility API
Android 4.4 擴充了無障礙 API,以支援更精準的結構和語意說明,以及觀察螢幕元素。透過新的 API,開發人員可為無障礙服務提供螢幕元素詳細資訊,提升無障礙服務的品質。
在無障礙節點中,開發人員現在可以判斷節點是否為彈出式視窗、取得其輸入類型等等。您也可以使用新的 API 與含有如格線資訊的節點 (例如清單和表格) 搭配使用。舉例來說,您現在可以指定新的支援動作、集合資訊和即時區域模式等。
新的無障礙功能事件可讓開發人員更密切地追蹤視窗內容的變化,而且現在可以監聽裝置觸控探索模式的變更。
為國際使用者提供支援
RTL 語言代碼的可繪項目鏡像
如果您的應用程式是以 RTL 指令碼的使用者為指定目標,您可以使用新的 API 宣告當使用者的語言代碼設定包含 RTL 語言時,可繪項目應以自動鏡像方式顯示。
將可繪項目宣告為自動鏡像,可協助您防止應用程式中重複的資產,並縮減 APK 的大小。如果您有可重複使用的 LTR 和 RTL 簡報的可繪項目,您可以將預設版本宣告為自動鏡像,然後從 RTL 資源中省略這些可繪項目。

「強制使用從右至左版面配置」選項可讓您更輕鬆地測試應用程式的本地化。
您可以在應用程式程式碼中,將各種類型的可繪項目宣告為自動鏡像,例如點陣圖、nine-patch、圖層、狀態清單和其他可繪項目。您也可以使用新屬性,在資源檔案中將可繪項目宣告為自動鏡像。
強制使用由右至左版面配置
為了在不改用 RTL 語言的情況下,輕鬆測試版面配置鏡像問題及偵錯,Android 提供新的開發人員選項,可強制所有應用程式使用 RTL 版面配置方向。
選取「強制使用從右至左版面配置」的版面配置選項,會將所有語言代碼的裝置切換為 RTL 版面配置,並以目前的語言顯示文字。這有助您找出應用程式中的版面配置問題,而不必以 RTL 語言顯示應用程式。如要存取這個選項,請依序前往「設定」>「開發人員選項」>「強制使用從右至左版面配置方向」。
安全性增強項目
SELinux (強制執行模式)
Android 4.4 會將 SELinux 設定從「允許性」更新為「強制執行」。也就是說,如果 SELinux 網域中有強制執行政策的潛在違反政策行為,就會遭到封鎖。
改善加密編譯演算法
Android 新增了兩個加密演算法的支援,進一步改善了安全性。橢圓曲線數位簽章演算法 (ECDSA) 已新增支援功能,可以提高數位簽署的安全性,適用於簽署應用程式或數據連線等情境。實施 Scrypt 金鑰衍生函式,可以保護用於全磁碟加密的加密編譯金鑰。
其他強化項目
在多使用者裝置上,系統現在會為每位使用者套用 VPN。這樣做可以讓使用者透過 VPN 轉送所有網路流量,而不會影響裝置上的其他使用者。此外,Android 現在支援 FORTIFY_SOURCE 的第 2 級,且所有程式碼都會以這些保護措施編譯。FORTIFY_SOURCE 已經過強化,可與 Clang 搭配使用。
分析記憶體用量的工具
追蹤記錄
名為 procstats 的新工具可協助您分析應用程式使用的記憶體資源,以及在系統上執行的其他應用程式與服務使用的資源。
Procstats 會追蹤應用程式的執行時間變化,提供應用程式執行時間長度和記憶體用量的相關資料,協助判斷應用程式的執行效率。對於在背景執行的服務應用程式而言,這一點非常重要,因為您可以監控其執行的時間,以及應用程式在過程中所使用 RAM 的程度。Procstats 也會收集前景應用程式記憶體用量相關資料,以便判斷應用程式的整體記憶體設定檔。
Procstats 可協助您識別應用程式啟動的背景服務。您可以追蹤這些服務繼續執行的時間,以及執行過程中的 RAM 容量。Procstats 也可讓您在應用程式前景進行分析,並根據長期的記憶體用量來判斷應用程式的整體記憶體用量。

新的 procstats 工具可讓您查看長期下來的應用程式和服務記憶體用量。

強化的 meminfo 工具可讓您查看應用程式的記憶體用量詳細資料。
您可以透過 Android SDK 內含的 ADB 工具 adb shell dumpsys procstats 存取 procstats。此外,如要進行裝置端剖析,請參閱下方的「Process Stats 開發人員選項」。
裝置端記憶體狀態與剖析
Android 4.4 提供新的開發人員選項,方便您在任何裝置或模擬器上執行應用程式時,輕鬆分析應用程式的記憶體設定檔。要查看應用程式如何使用記憶體,並在 RAM 較低的裝置上執行時,這項功能特別實用。如要存取這個選項,請依序前往「設定」>「開發人員選項」>「程序統計資料」。


處理統計資料可讓您輕鬆查看應用程式的記憶體用量。您可以查看您的應用程式與其他應用程式的比較情況,並放大應用程式或其背景服務的特定資料。
「Process Stats」選項會根據使用新 Procstats 服務收集到的資料,顯示應用程式記憶體用量的各種高階指標。主畫面中會顯示系統記憶體狀態的摘要。綠色代表 RAM 用量低的相對時間長度,黃色代表 RAM 用量;紅色表示高 (重要) RAM 用量
摘要下方清單匯總了每個應用程式的系統記憶體負載。每個應用程式都會有一個藍色長條,代表處理程序的相對計算記憶體負載 (執行階段 x avg_pss),百分比數字則代表應用程式在背景花費的相對時間長度。您可以篩選清單,只顯示前景、背景或快取程序,也可以納入或排除系統程序。您也可以將收集到資料的持續時間變更為 3、6、12 或 24 小時,並可以納入或排除我們的記憶體。
如要進一步查看特定應用程式的記憶體用量,請輕觸該應用程式。您現在可以查看每個應用程式的記憶體用量摘要,以及應用程式執行的收集間隔百分比。此外,您也可以查看收集期間的平均和最大用量,以及低於應用程式服務及其執行時間的百分比。
使用 Process Stats 中的資料分析應用程式可以找出問題,並建議應用程式可能的最佳化做法。舉例來說,如果應用程式的執行時間超出預期,或長時間使用過多記憶體,程式碼可能會出現錯誤,協助您改善應用程式效能,特別是在 RAM 較低的裝置上執行時。