本頁面收集了有關評估和除錯 Flutter 效能的一些常見問題。

  • 如何知道我的 Flutter 應用在每一幀中哪些小部件被重建了?
    • widgets/debug.dart 中將 debugProfileBuildsEnabled 設定為 true。
    • 或者,修改 widgets/framework.dart 中的 performRebuild 函式,使其忽略 debugProfileBuildsEnabled 並始終呼叫 Timeline.startSync(...)/finish
    • 如果您使用 IntelliJ,可以使用圖形化介面檢視此資料。選擇 **Track widget rebuilds**,您的 IDE 將顯示重建的小部件。
  • 如何解決由於昂貴的 Dart 非同步函式呼叫阻塞 UI 執行緒而導致的動畫效果不佳的問題?
  • 如何確定使用者將下載的 Flutter 應用的包大小?
  • 如何擷取正在執行的應用的螢幕截圖並將其匯出為 SKP 檔案?
    • 執行 flutter screenshot --type=skia --observatory-uri=...
    • 注意檢視螢幕截圖的已知問題
    • 要分析和視覺化 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>
  • 如何在 Fuchsia 中進行跟蹤?