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 效能的最新資訊,請參閱應用程式效能指南中的「最新消息和影片」。