location.reload后内存泄漏
Memory leaks after location.reload
我有一些代码如下。
var domNode = somehowGet();
domNode.someEvent = function(){
domNode.appendChild(createNodeUsing(window));
};
window.guid = createGuid(); // called at startup
在我调用location.reload之后,我打开DevTools探查器,看到一些分离的树节点和额外的Window实例,它们的数量与重新加载的数量完全相同。
也就是说,如果我调用location.reload 5次,就会有5个额外的Window对象实例,并且它们都有不同的Guid。
问题是,如果除了上面提到的那些,没有其他对domNode的引用,GC会释放内存吗?
换句话说,我需要知道为什么有几个窗口实例
浏览器是Chromium的一些最新版本。
domNode.someEvent=function(){}是一个循环引用模式。domNode获得了对someEvent的引用,someEvent是一个属性,在这个someEvent函数中,domNode仍然是可引用的(作为闭包)。
我不确定chrome是否可以回收内存,但我认为应该避免这种模式。
点击此处查看更多详细信息。http://javascript.info/tutorial/memory-leaks#ie-lt-8-dom-js-内存泄漏
相关文章:
- 重复应用 d3 转换导致的内存泄漏
- IE7中的blockUI插件内存泄漏25kb
- Javascript闭包-如何防止内存泄漏
- jQuery Draggable:内存泄漏
- "检测到可能的EventEmitter内存泄漏”;使用Gulp+Watchify+Factor捆绑包
- 在Dojo类中递归调用setTimeout时是否存在内存泄漏
- 是内存泄漏
- 将处理程序留在img.onload上是内存泄漏
- 具有并发sse连接的node.js内存泄漏
- 简单对象的Javascript内存泄漏
- WeakMap是否会将我从父/子关系的内存泄漏中拯救出来
- Javascript绘制画布内存泄漏
- 为什么我的svg节点在IE中泄漏内存
- AngularJS指令包装器与Kendo一起泄漏内存
- 经过几次清理尝试后,主干仍在泄漏内存
- 这个js代码如何泄漏内存
- 未处理的postMessage是否泄漏内存
- 动态创建和销毁三.js场景,而不会泄漏内存
- 我的PyV8上下文泄漏内存
- 为什么我的数字时钟功能泄漏内存