效能常見問題
本頁收集了一些關於評估和偵錯 Flutter 效能的常見問題。
- 哪些效能儀表板有與 Flutter 相關的指標?
- 如何向 Flutter 添加基準測試?
- 有哪些工具可以擷取和分析效能指標?
- 我的 Flutter 應用程式看起來卡頓或斷斷續續。我該如何修正?
- 有哪些需要謹慎處理的昂貴效能操作?
Opacity
、Clip.antiAliasWithSaveLayer
,或任何會觸發saveLayer
的操作ImageFilter
- 另請參閱效能最佳實務
- 如何判斷我的 Flutter 應用程式中的哪些 Widget 在每個影格中重建?
- 在 widgets/debug.dart 中將
debugProfileBuildsEnabled
設定為 true。 - 或者,變更 widgets/framework.dart 中的
performRebuild
函式以忽略debugProfileBuildsEnabled
並始終呼叫Timeline.startSync(...)/finish
。 - 如果您使用 IntelliJ,則可以使用此資料的 GUI 檢視。選取「追蹤 Widget 重建」,您的 IDE 會顯示哪些 Widget 正在重建。
- 在 widgets/debug.dart 中將
- 如何查詢顯示器的目標每秒影格數 (FPS)?
- 如何解決由於昂貴的 Dart 異步函式呼叫阻塞 UI 執行緒而導致的應用程式動畫不良問題?
- 使用
compute()
方法產生另一個隔離區,如在背景中剖析 JSON 範例程式碼中所展示的。
- 使用
- 如何判斷使用者將下載的 Flutter 應用程式套件大小?
- 請參閱測量應用程式的大小
- 如何查看 Flutter 引擎大小的詳細分類?
- 造訪二進制大小儀表板,並將 URL 中的 git hash 替換為 GitHub 引擎儲存庫提交中的最新提交 hash。
- 如何擷取正在執行的應用程式的螢幕快照,並將其匯出為 SKP 檔案?
- 執行
flutter screenshot --type=skia --observatory-uri=...
- 請注意,檢視螢幕快照時有一個已知的問題
- Issue 21237:無法在真實裝置上記錄影像。
- 若要分析和視覺化 SKP 檔案,請查看 Skia WASM 除錯工具。
- 執行
如何從裝置擷取著色器持久快取?
- 在 Android 上,您可以執行以下操作
adb shell run-as <com.your_app_package_name> cp <your_folder> <some_public_folder, e.g., /sdcard> -r adb pull <some_public_folder/your_folder>
- 在 Android 上,您可以執行以下操作
如何在 Fuchsia 中執行追蹤?
- 請參閱Fuchsia 追蹤指南
除非另有說明,否則本網站上的文件反映了 Flutter 的最新穩定版本。頁面最後更新時間為 2024-06-27。 檢視來源 或 回報問題。