如何使用分配時間軸工具

Meggin Kearney
Meggin Kearney

使用分配時間軸工具找出未正確進行垃圾收集的物件,並繼續保留記憶體。

工具運作方式

「分配時間軸」報表結合了堆積分析工具的詳細快照資訊,以及時間軸面板的增量更新和追蹤功能。與這些工具類似,堆積分配追蹤作業需要啟動錄製功能、執行一連串動作,然後停止錄製並進行分析。

這項工具會在錄製期間定期擷取堆積快照 (頻率高達每 50 毫秒一次),並在錄製結束時擷取最後一個快照。

分配時間表範例錄製。

記錄分配時間軸報表

如要開始使用分配時間表工具,請按照下列步驟操作:

  1. 在開發人員工具中開啟「記憶體」面板。
  2. 啟用「時間軸上的配置」設定檔。
  3. 按下「Start」按鈕開始錄影。

醒目顯示「在時間軸上記錄分配」選項。

讀取堆積分配設定檔

堆積配置設定檔會顯示物件建立的位置,並識別保留路徑。在下列快照中,頂端的長條會指出堆積區何時找到新物件。

每個長條的高度對應至最近分配的物件大小,而長條的顏色則表示這些物件是否仍在最終堆積快照中。藍色長條代表時間軸結尾仍有效的物件,灰色長條代表在時間軸期間配置的物件,但已進行垃圾收集:

分配時間表記錄範例。

您可以放大畫面,篩選「建構工具」窗格,只顯示在指定時間範圍內分配的物件。如要放大畫面,請在時間軸上拖曳滑鼠,將焦點放在所需時間範圍。

時間軸縮放至單一長條。

在「Constructor」窗格中按一下特定建構函式,即可在「Retainers」窗格中顯示其保留樹狀結構。檢查物件的保留路徑後,您應該會獲得足夠資訊,瞭解為何系統未收集物件,並可進行必要的程式碼變更,移除不必要的參照。

依函式查看記憶體配置

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