為什么要使用Performance
GC的目的是為了實作記憶體空間的良性回圈
良性回圈的基石是合理使用
即刻關注才能確定是否合理
Performance提供多種監控方式
記憶體問題的表現
網路環境是正常的,且👇
頁面出現延遲加載或者經常性暫停
頁面持續性出現糟糕的性能
頁面的性能隨時間延長越來越差
定義記憶體問題的標準
記憶體泄漏:記憶體使用持續升高
記憶體膨脹:在多數設備上都存在性能問題
頻繁垃圾回收:通過記憶體變化圖進行分析
監控記憶體的幾種方式
1. 瀏覽器任務管理器
快捷鍵shift+ESC
第一列是DOM記憶體;最后一列是堆記憶體
2. Timeline時序圖記錄 ?
通過Performance時刻監控記憶體,可定位到出現問題的代碼塊
在在藍色時序圖可以清楚的看見該頁面的效果和發生變化的時間,可以控制查看
3. 堆快照查分離DOM ?
什么是分離DOM
界面元素存活在DOM樹上
垃圾物件時的DOM節點
分離狀態的DOM節點
什么是垃圾物件的DOM
脫離DOM樹,且沒有任何引入
記憶體泄漏
脫離DOM但是有參考,在頁面中是看不見的,記憶體里是占據空間的
通過堆快照找到,并手動修改清除釋放
找到js堆,對照片留存,可以看到里面的所有資訊
4. 判斷是否存在頻繁的垃圾回收
GC作業時應用程式是停止的
頻繁且過長的GC會導致應用假死
用戶使用中感知應用卡頓
監控方法
通過Timeline中頻繁的上升下降
任務管理器中資料頻繁的增加減小
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289252.html
標籤:其他







