跳到主內容

Flutter 和 Dart DevTools

如何將 Flutter DevTools 與 Flutter 一起使用。

什麼是 DevTools?

#

DevTools 是一套用於 Dart 和 Flutter 的效能分析和除錯工具。Flutter DevToolsDart DevTools 指的是同一套工具。

Dart DevTools Screens

如需觀看 DevTools 的影片介紹,請檢視以下深入講解和用例演示:

在新標籤頁中觀看 YouTube 影片:“深入瞭解 Flutter 和 Dart DevTools”

我能用 DevTools 做什麼?

#

以下是你可以使用 DevTools 完成的一些操作:

  • 檢查 Flutter 應用的 UI 佈局和狀態。
  • 診斷 Flutter 應用中的 UI 卡頓效能問題。
  • 針對 Flutter 或 Dart 應用進行 CPU 分析。
  • 針對 Flutter 應用進行網路分析。
  • 對 Flutter 或 Dart 應用進行原始碼級除錯。
  • 除錯 Flutter 或 Dart 命令列應用中的記憶體問題。
  • 檢視正在執行的 Flutter 或 Dart 命令列應用的常規日誌和診斷資訊。
  • 分析程式碼和應用體積。
  • 驗證 Android 或 iOS 應用中的深層連結 (Deep links)。

我們建議你結合現有的 IDE 或基於命令列的開發工作流程來使用 DevTools。

如何啟動 DevTools

#

你可以使用以下工具啟動 DevTools:

常見問題排查

#

問題:我的應用看起來卡頓或掉幀。我該如何修復?

回答:效能問題可能導致 UI 幀卡頓和/或拖慢某些操作。

  1. 要檢測哪些程式碼影響了具體的延遲幀,請從 Performance (效能) > Timeline (時間軸) 開始排查。
  2. 要了解哪些程式碼在後臺佔用了最多的 CPU 時間,請使用 CPU 效能分析器

更多資訊,請參閱 效能 (Performance) 頁面。

問題:我看到很多垃圾回收 (GC) 事件發生。這是個問題嗎?

回答:頻繁的 GC 事件可能會顯示在 DevTools > Memory (記憶體) > Memory chart (記憶體圖表) 中。在大多數情況下,這不是問題。

如果你的應用有頻繁的後臺活動且伴隨一些空閒時間,Flutter 可能會利用該機會收集已建立的物件,而不會產生效能影響。

提供反饋

#

請嘗試使用 DevTools,提供反饋,並在 DevTools 問題追蹤器中提交問題。謝謝!

DevTools 版本控制

#

DevTools 作為 Flutter SDK 的一部分分發。要獲取最新的 DevTools 功能,請執行 flutter upgrade 以獲取最新版本的 Flutter。若要在功能進入 Flutter stable (穩定) 通道之前使用,請考慮切換到 betamain 通道。

其他資源

#

有關除錯和分析 Flutter 應用的更多資訊,請參閱 除錯 (Debugging) 頁面,特別是其中的 其他資源列表。

有關將 DevTools 與 Dart 命令列應用一起使用的更多資訊,請參閱 dart.dev 上的 DevTools 文件