为什么我的时间线显示javascript内存泄漏,但堆快照不?

时间:2017-06-30 15:01:25

标签: javascript memory-leaks google-chrome-devtools

让页面打开2分钟并使用Chrome开发工具录制,我得到了一个锯齿模式但是JS堆没有返回到它的原始级别 - 相反,对于每个垃圾收集它仍然有点高,直到它最终崩溃:

Performance

传统观点认为,在一段时间内拍摄2个堆快照并进行比较以隔离问题。在堆快照之前,会自动执行垃圾回收。预期结果是堆快照编号1显示~19 MB堆的基线,快照2显示2分钟后至少22 MB。相反,快照2实际上显示 less

Snapshots

我现在应该怎么做才能找到泄漏?

1 个答案:

答案 0 :(得分:0)

这可能只是一个侥幸。尝试拍摄多个快照。比如,每10秒一次,十次。

也可以尝试Allocation TimelinesAllocation Profiles。分配时间线显示在实时图表中何时分配内存。配置文件显示哪些功能分配的内存最多。