识别Javascript堆外部的内存泄漏

时间:2014-12-12 22:57:22

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

我正在调试复杂的Javascript应用程序中的内存泄漏(数百个文件和近百万行代码)。这是一款游戏,因此它大量使用PNG图形和2D画布。

使用Chrome的开发工具进行内存分析时,我发现堆分配没有太大变化,但Chrome的任务管理器中的内存使用量持续上升。实际上,GPU内存加JS内存只占总内存的一半左右。我怎样才能调试内存的其余部分呢?

2 个答案:

答案 0 :(得分:0)

在很多情况下,本机内存中的泄漏在js内存中有泄漏的对象。 因此,在修复应用程序中的所有js泄漏后,非常高的可能性将使本机内存中没有泄漏。

查看答案Tool to track down JavaScript memory leak

答案 1 :(得分:0)

dom节点直接占用本机内存,因此dom节点越高,本机内存消耗越高。此外,由于您提到涉及大量图形,您需要考虑在<img>标记中呈现的图像占用额外的本机内存,并且通常超过其原始图像大小。

从你问过这个问题一年后,如果你可能已经解决了问题,你可以在这里为别人写下你的解决方案。