Wear OS 的 Jetpack Compose 效能

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

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

此外,請建立並遵循成效評估策略,驗證本文中的技術是否能為應用程式帶來預期成效。

提升效能的必備技巧

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

開始之前,建議您將 Compose 依附元件更新至至少 1.8 版,這個版本導入了多項重要新功能,並提升了程式庫的整體穩定性。請參閱「宣告依附元件」中的操作說明,瞭解如何更新。如要進一步瞭解相關資訊,請參閱1.8 版的網誌文章Compose 最新消息 I/O 演講。

基準設定檔

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

每個 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 評估個別 UI 片段。

這項功能會以程式輔助方式自動執行 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 效能的最新資訊,請參閱應用程式效能指南中的「最新消息和影片」。