【发布时间】:2014-06-18 00:54:13
【问题描述】:
我正在使用google's 3 Snapshot method 来查找页面上的内存泄漏。 页面在 Knockout.js 和 Jquery Mobile UI 上运行。 我已经缩小到内存泄漏的 div 之一。在每个快照之间,我正在运行此脚本以清除内存泄漏对象。
$('.paddedContentContainer').children().each(function(index,item){
console.log(item);
$(item).off();
ko.cleanNode($(item));
$(item).remove();
item = null;
});
.paddedContentContainer 是泄漏对象的父级。
现在有趣的部分是我仍然可以在保留对象树中看到对象。在下面的屏幕截图中,您可以看到我正在过滤从快照 1 和 2 中保留的快照 3 中的对象,并且通过文本可以看到来自控制台的$0 在屏幕上的同一对象中(事件销售订单和... .)。
我假设 .off(); 和 .remove(); 不足以收集对象。
如何永久销毁对该对象的所有引用?
【问题讨论】:
标签: javascript jquery memory knockout.js memory-leaks