共计 804 个字符,预计需要花费 3 分钟才能阅读完成。
发现问题:找到疑似操作
Chrome Performance 排查
点击开始录制,在页面上进行操作,之后察看堆内存应用趋势,尝试屡次如察看到为上涨趋势时就有可能是内存透露(并不能认定肯定是内存透露,有可能是内存还没有开释),如果呈现这种状况咱们就要应用 memory 看板进行进一步的剖析
留神点:在每次开始和完结前都要点击垃圾回收
Performance monitor 看板
第二种形式是应用 performance monitor 面板进行排查,能够一边操作一边查看 performance monitor 面板上内存的应用趋势,如果内存呈现上涨趋势的状况也有可能是呈现内存透露
剖析内存快照:找到问题起因
Memory 看板
- 切换到 memory 看板
- 点击截取快照生成快照 1
- 操作疑似透露的操作 再生成快照 2
- 切换到 comparsion(比照试图)
- 察看 Delta 列察看增长较大的对象,可能存在内存透露的问题
- 反复以上的操作,直到定位到具体的起因
Dom 树援用内存透露问题排查
抉择 summary 试图,搜寻 detached,搜寻到局部的 dom 曾经销毁,然而还被 js 援用这部分会导致内存透露
辨认 js 对象内存透露
录制时,请留神“调配时间轴”上是否有蓝色条状显示,这些蓝色条示意新的内存调配,这些新的内存调配是内存透露的对象。
抉择特定的区域排查透露的对象。
术语解释
试图
Summary:摘要视图
Comparison:比照视图,与其它快照比照,看增、删、Delta 数量及内存大小
Containment:鸟瞰视图,自顶向下看堆的状况,根节点包含 window 对象,GC root,原生对象等等
列头
Shallow Size:对象自身占用的内存
Retained Size:对象自身及其援用总共占用的内存
Distance:以后对象到根的援用层级间隔
Alloc. Size : 新调配的内存
Freed Size:开释的内存
https://developer.chrome.com/…
正文完