參考:html
JS內存泄漏排查方法(Chrome Profiles)chrome
目錄:.net
一 Chrome任務管理器orm
二 Chrome 時間軸Performancehtm
三 Chrome Memory對象
這個貌似只能看一下js或者圖片佔用的內存大小。對於檢查內存泄露,哪一塊泄露來講,幫助不大。blog
使用Chrome任務管理器,瞭解網頁使用的內存量。
右上角菜單,選擇工具,選擇任務管理器。
對於默認不顯示的選項。能夠右鍵選擇。好比查看Javascript使用的內存。
javascirpt使用的內存
Performance(時間軸)面板直觀實時顯示JS內存使用狀況、節點數量、監聽器數量等
開始錄製前先點擊垃圾回收-->點擊開始錄製-->點擊垃圾回收-->點擊結束錄製
這個功能查找內存泄露比較重要
Summary 總覽視圖:按構造函數分組。用於捕捉對象及其使用的內存。對於定位DOM內存泄露特別有用
Comparison 對比視圖:對比兩個快照。用於對比不一樣操做以後的堆快照,查看內存的釋放及引用計數,來分析內存是否泄露及其緣由
Statistics 統計視圖:總覽堆的統計信息
其中Comparison對比視圖,這個用於檢查內存泄露比較有用。
1. 點擊開始錄製(拍照),拍下內存快照
2. 在可疑的內存泄露場景來回切換,好比你以爲退出遊戲時,遊戲場景有泄露,則屢次進入和退出遊戲,再次拍照
3. 而後對比兩張快照,發現內存泄露的來源
Constructor:構造函數,節點下的對象都是由改構造函數建立而來。 Distance:與根節點的距離。 Objects Count:對象個數及百分佔比。 Shallow size:對象的直接內存總數,直接內存是指對象自身佔用的內存大小。 Retained size:對象的最大保留內存,保留內存是指對象被刪除後能夠釋放的那部份內存。 點擊展開構造函數,能夠看到全部構造函數相關的對象實例,@後面的數字是該對象實例的惟一標識符。