如何使用分配分析器工具

梅金凱尼
Meggin Kearney

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

工具運作方式

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

這項工具會在記錄期間定期 (以每 50 毫秒為單位一次) 定期擷取堆積快照,並在記錄結束時定期擷取一個快照。

分配分析器

啟用分配分析器

如要開始使用分配分析器:

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

記錄堆積分配量分析器

讀取堆積分配設定檔

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

每個長條的高度會對應最近配置的物件大小,長條顏色則會指出這些物件是否仍在最終堆積快照中。藍色長條表示在時間軸末端仍存在的物件,灰色長條表示在時間軸上分配到,但自垃圾收集以來的物件:

分配分析器快照

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

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

放大快照

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

依函式查看記憶體配置

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