如何使用分配分析器工具

Meggin Kearney
Meggin Kearney

使用配置分析器工具找出未正確收集垃圾資料的物件,並繼續保留記憶體。

工具運作方式

配置分析器結合了堆積分析器的詳細快照資訊,以及時間軸面板的漸進式更新和追蹤。與這些工具類似,追蹤物件的堆積分配方式牽涉到開始記錄、執行一系列動作,然後停止記錄以供分析。

這項工具會在記錄期間定期建立堆積快照 (以每 50 毫秒為一次的頻率),並在記錄結束時建立最後一個快照。

分配分析器

啟用配置分析器

如要開始使用配置分析器,請按照下列步驟操作:

  1. 確認您使用的是最新版的 Chrome Canary
  2. 開啟「開發人員工具」,然後按一下右下角的齒輪圖示。
  3. 現在,開啟 Profiler 面板,您應該會看到名為「Record Heap Allocations」的設定檔

記錄堆積分配分析器

讀取堆積分配概況

堆積分配設定檔會顯示物件的建立位置,並識別保留路徑。在以下數據匯報中,頂端的長條代表新物件在堆積中發現的時間。

每個長條的高度對應近期配置的物件大小,長條的顏色則會指出這些物件是否仍存在於最終的堆積快照中。藍色長條表示在時間軸結束時仍然存在的物件,灰色長條則代表在時間軸內配置,但之後遭到垃圾收集的物件:

分配分析器快照

在下方數據匯報中,執行了 10 次動作。範例程式會快取五個物件,因此預期會有最後五個藍色長條。但最左側的藍色長條表示有潛在問題。

接著,您可以使用上方時間軸中的滑桿來放大特定快照,查看最近配置到該快照的物件:

放大快照

按一下堆積中的特定物件,即可在堆積快照底部顯示其保留的樹狀結構。檢查物件的保留路徑應該可讓您取得充足資訊,瞭解未收集物件的原因,並您可以對程式碼進行必要的變更,移除不必要的參照。

依函式查看記憶體配置

您也可以依 JavaScript 函式查看記憶體配置。詳情請參閱「依函式調查記憶體配置」。