Wear OS 的 Jetpack Compose 效能

Wear OS 的效能是應用程式首要考慮的因素,畢竟和更大型的行動裝置相比,許多 Wear OS 裝置的 CPU 和 GPU 資源都有限。Material 3 Expressive 導入了更豐富的動畫和動態效果,因此您應驗證並改善應用程式主要工作流程的效能。

請參閱 Jetpack Compose 效能指南,瞭解如何設定及開發應用程式,充分發揮 Jetpack Compose 的效能。本文將重點介紹該指南中說明的部分技術。

建立並採用成效評估策略,確認這些技術是否能為應用程式帶來預期成效。

提升效能的必備技巧

首先,請使用最有效的效能工具類型:基準設定檔 (包括啟動設定檔) 和 R8 程式碼最佳化工具。

Compose 依附元件更新至 1.8 以上版本,其中導入了多項重要新功能,並提升了程式庫的整體穩定性。如要瞭解如何更新,請參閱「宣告依附元件」中的操作說明。如要瞭解詳情,請參閱這篇關於 1.8 版的網誌文章,以及 I/O 大會上「Compose 新功能」的演講

基準設定檔

如要提升應用程式效能,請使用基準設定檔。將代表應用程式主要工作流程的類別和方法歸為一組,系統可以使用基準設定檔預先編譯這些類別和方法。這樣可以減少啟動時間、減少造成資源浪費的影格,並進一步提升效能。

每個 Jetpack Compose 程式庫都有內建專用的設定檔規則。如果應用程式依附程式庫,系統便會自動合併程式庫的設定檔規則,並和應用程式 APK 一起發布,以進行預先編譯。

請使用下列技巧驗證基準設定檔:

  • 使用 Macrobenchmark 測試。
  • 使用特定 ADB 指令驗證應用程式的設定檔設定狀態。 如要瞭解這兩種技術的步驟,請參閱成效評估與驗證指南。

啟動設定檔

啟動設定檔是基準設定檔的子集,可進一步最佳化所含的類別和方法,縮短應用程式啟動延遲時間。

新增啟動設定檔會增加應用程式的 APK 大小,因此在將設定檔新增至正式版之前,請務必評估 APK 大小與啟動延遲之間的取捨。

如要開始使用,請參閱「建立新創公司簡介」。

R8

使用 R8 編譯器縮減及最佳化應用程式。R8 會移除未使用的程式碼和資源、重新編寫程式碼來提升執行階段效能等。

在「提升效能總覽」指南中,瞭解 R8 的考量事項,包括移除未使用的資源的重要步驟。

成效評估與驗證

如要瞭解 Android 的一般成效評估策略,請參閱「評估應用程式效能總覽」。本節將說明該文件討論的部分技術。

選擇用於測量的建構變數

偵錯模式有助於找出許多問題,但需要投入大量效能,而且不會使用基準設定檔,因此可能會難以找出影響效能的程式碼問題。

如要準確瞭解應用程式效能,請在發布模式中執行應用程式。

請務必在實際裝置上,使用發布建構選項執行應用程式測試,再根據結果做出最終的效能結論。

不過,進行基準測試時,請使用基準測試建構變體,這與發布偵錯有幾項主要差異。詳情請參閱 Macrobenchmark 設定指南

驗證應用程式的基準設定檔

請先檢查商家檔案的狀態:

adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME

如果狀態並非 status=speed-profile,表示系統尚未套用設定檔規則最佳化應用程式。

系統會利用背景工作套用規則,因此只會在裝置充電和待機時執行。如要手動觸發這項作業,請在應用程式啟動後,執行下列指令,讓設定檔安裝程式在背景啟動設定檔。這項程序通常需要約 40 秒。

adb shell cmd package bg-dexopt-job

然後,請重新執行上一個指令,確認狀態為 speed-profile

如果應用程式在安裝時執行最佳化,請參閱「側載基準設定檔」。

UI Automator API

UI Automator API 可透過程式輔助自動執行互動操作。檢查使用者歷程時,您可以使用這個 API 評估個別 UI 片段,找出可改善之處。

Macrobenchmark 測試

Macrobenchmark 會測試應用程式的大型用途,特別是應用程式啟動和複雜的 UI 操控方式。如要開始使用,請參閱導入指南

如需使用巨觀基準測試驗證基準設定檔效能的範例,請參閱 GitHub 上的效能範例

JankStats 程式庫

使用 JankStats 程式庫追蹤及分析應用程式的效能問題。

請參閱 GitHub 的 JankStats 範例

系統追蹤

Material 3 Expressive 推出新的動畫類型,您可以使用 Android Studio 的系統追蹤功能,檢查並診斷可能導致問題的使用者歷程延遲。您可以根據這項資訊驗證基準設定檔的內容,並找出程式碼邏輯中可能效率不彰的部分。

其他工具

除了提升效能的工具外,您還可以使用其他工具來提升工作效率和工作流程。

Android Studio 生產力工具

Android Studio 提供多種工具,可減少您找出效能改善項目的時間。

舉例來說,您可以使用「即時編輯」和「可組合項預覽」等工具,找出不流暢的 UI 元素,以及應用程式程式碼中的相關區域,進而提升效能。

實體 Wear OS 裝置上執行所有最終效能測試,確保裝置能準確代表目標使用者群。

如果您要遷移至 Material 3 Expressive,這點就特別重要,因為這項主題會為應用程式導入彈性字型和形狀變形等功能。

如果您是從檢視區塊遷移,請參閱遷移指南Jetpack Compose 效能最佳做法,確認應用程式的 UI 在使用 Jetpack Compose 時是否能維持高效能。

其他資源

如要掌握 Android 效能的最新資訊,請參閱應用程式效能指南中的「最新消息和影片」。