识别 Javascript 堆之外的内存泄漏
Identifying memory leak outside of Javascript heap
我正在调试一个复杂的Javascript应用程序(数百个文件和近一百万行代码)中的内存泄漏。这是一款游戏,因此它也大量使用 PNG 图形和 2d 画布。
当使用Chrome的开发工具进行内存分析时,我没有看到堆分配有太大变化,但Chrome任务管理器中的内存使用量继续上升。事实上,GPU内存加上JS内存的总和只占总内存的一半左右。如何调试此内存的其余部分的去向?
在很多情况下,本机内存中的泄漏在 js 内存中具有泄漏的对象。因此,在修复应用程序中的所有js泄漏后,您的本机内存中将没有泄漏的可能性非常高。
查看答案 追踪 JavaScript 内存泄漏的工具
dom 节点直接占用本机内存,因此 dom 节点越高,本机内存消耗越高。另外,由于您提到涉及很多图形,因此您需要考虑到在<img>
标签中呈现的图像会占用额外的本机内存,并且通常大于其原始图像大小。
自从一年以来,您问了这个问题,如果您可能已经解决了您的问题,您可以在这里为其他人编写解决方案。
相关文章:
- 重复应用 d3 转换导致的内存泄漏
- IE7中的blockUI插件内存泄漏25kb
- Javascript闭包-如何防止内存泄漏
- jQuery Draggable:内存泄漏
- "检测到可能的EventEmitter内存泄漏”;使用Gulp+Watchify+Factor捆绑包
- 在Dojo类中递归调用setTimeout时是否存在内存泄漏
- 是内存泄漏
- 将处理程序留在img.onload上是内存泄漏
- 具有并发sse连接的node.js内存泄漏
- 简单对象的Javascript内存泄漏
- WeakMap是否会将我从父/子关系的内存泄漏中拯救出来
- Javascript绘制画布内存泄漏
- Node.js”;检测到EventEmitter内存泄漏”;
- 正在清理内存泄漏
- 递归Javascript对象是否会导致任何问题(内存泄漏)
- Angular JS$编译服务导致$watch内存泄漏
- 如何防止和防范闭包内存泄漏
- 跟踪 JavaScript 内存泄漏的工具
- 页面刷新后javascript内存泄漏有问题吗?为什么?
- XMLHttpRequest循环内存泄漏