過去一週,我們深入探討了最佳做法和指南,協助您提升 Android 應用程式的執行速度、縮減大小並提高穩定性。從 R8 最佳化工具和設定檔導向最佳化的基本功能,到 Jetpack Compose 的效能提升,再到應用程式效能提升的新指南,我們涵蓋了您建構高效能應用程式所需的低工作量、高影響力工具。
這篇文章是索引和路線圖,可供您在需要最佳化時隨時回顧這些資源。以下是我們共同歷程的五大重點。
使用 R8 最佳化工具加快應用程式速度
您只要完全啟用 R8 最佳化工具,就能以最少的力氣,獲得最大的成效。這項功能不僅能縮減應用程式大小,還會執行深入的程式碼全程式最佳化作業,從根本上重新編寫程式碼,提升效率。重新檢查保留規則,讓 R8 回到工程工作。
我們已更新並擴充 R8 最佳化工具的說明文件,可協助您瞭解相關資訊。
啟用 R8 完整模式後,Reddit 發現冷啟動速度提升 40% ,ANR 錯誤減少 30% 。
如要閱讀完整個案研究,請參閱這篇網誌文章。
Disney+ 的工程師致力於提升應用程式效能,並改善應用程式的使用者體驗。有時即使是看似微小的變更,也能帶來巨大影響。在檢查 R8 設定時,團隊發現您使用了 -dontoptimize 標記。移除這個旗標以啟用最佳化功能後,Disney+ 團隊發現應用程式效能大幅提升。
因此,下次有人問您如何改善應用程式效能時,只要將他們導向這篇文章即可。
請參閱第 1 天的網誌文章,進一步瞭解:使用 R8 縮減及最佳化應用程式,並加快開發速度
引導您提升效能
基準設定檔可有效移除即時編譯需求,提升啟動速度、捲動、動畫和整體算繪效能。啟動設定檔會為應用程式的 classes.dex 檔案提供智慧排序,進一步簡化應用程式啟動程序。
如要進一步瞭解基準設定檔對應用程式效能的重要性,請參閱 Meta 的工程網誌,瞭解基準設定檔如何將 Meta 應用程式的各項重要成效指標提升高達 40%。
我們在 Jetpack Compose 1.10 中持續提升 Jetpack Compose 的效能。 處理複雜的清單項目時,可暫停的組合和可自訂的快取視窗等功能,對於維持零捲動卡頓至關重要。請觀看最新一集的 #TheAndroidShow ,瞭解更多詳細資訊。
如要瞭解更多成效考量,請參閱我們週三發布的網誌:深入探討成效考量
評估成效非常簡單,只要按照以下步驟操作即可
您必須先進行測量才能執行管理作業。我們的效能分級指南將評估歷程分為五個步驟,從容易取得的資料開始,逐步進展到進階的本機工具。
從第 1 級開始,我們將教您如何使用 Android Vitals 提供的現成資料,包括 ANR、當機和電池用量過高的現場資料。
我們也會教您如何升級。舉例來說,我們會示範如何使用 Jetpack Macrobenchmark 和新的 UiAutomator 2.4 API,透過本機效能測試達到第 3 級,準確評估及驗證應用程式效能的任何變化。
如要瞭解詳情,請參閱我們週四發布的網誌: [Link to Thursday's Blog: Leveling Guide for your Performance Journey]
效能偵錯功能再升級
進階最佳化不應導致當機報告無法解讀。新功能可協助您放心地偵錯 R8 和背景工作:
自動 Logcat 重新追蹤
從 Android Studio Narwhal 開始,Logcat 視窗可以自動還原堆疊追蹤記錄。這樣一來,您就能立即查看並偵錯正式版建構中的任何當機問題。
縮小保留規則
我們在週二說明瞭修正執行階段當機問題所需的 Keep 規則,並強調撰寫特定成員層級規則的重要性,而非使用過於廣泛的萬用字元。由於這是重要主題,我們也製作了相關影片。
此外,Android Studio Otter 3 功能推送版本也提供新的 Lint 檢查功能,可檢查寬鬆的 Keep 規則,確保您不會遇到這類問題。
我們也發布了有關測試和疑難排解 R8 設定的新指南,協助您正確設定。
詳情請參閱週二的網誌文章: 設定及排解 R8 保留規則問題
背景工作
我們分享了相關指南,說明如何偵錯使用 WorkManager 安排工作時可能遇到的常見情境。
背景工作檢查器會以視覺化方式呈現 WorkManager 工作,並提供圖表檢視畫面,協助您偵錯排定的工作延遲或失敗的原因。此外,我們也更新了背景工作說明文件到達網頁,著重介紹針對特定用途最佳化的工作專用 API,協助您更可靠地執行工作。
詳情請參閱週三的網誌: 背景工作效能考量
效能最佳化是持續進行的過程
如果您在本週成功完成挑戰,啟用 R8 完整模式,下一步就是使用應用程式效能分數,將效能整合至產品藍圖。這個標準化架構可協助您找出槓桿效應最高的行動項目,持續改善成效。
我們在當週最後一天舉辦了 #AskAndroid Live 即時問答活動,由工程師回答有關 R8、設定檔導向最佳化等最棘手的問題。如果錯過直播,請觀看重播!
感謝你的參與!現在就開始建構,並保持這股動能。
繼續閱讀
-
活動與計畫
首先,我們將介紹最簡單但效果顯著的變更,也就是啟用完整模式的 R8 最佳化工具,藉此提升應用程式效能。
Ben Weiss • 閱讀時間:5 分鐘
-
活動與計畫
Google I/O 大會時間表出爐!
1 分鐘小故事
-
活動與計畫
去年 9 月,我們分享了 Google Play Games 的未來願景,並秉持著一項核心信念:提供世界一流的玩家體驗,是推動遊戲成功的最佳方式。
Maru Ahues Bouza • 3 分鐘可讀完
隨時掌握最新消息
每週透過電子郵件接收最新的 Android 開發洞察資料。