在问之前我读了这个问题:
当您的变量数据很大并且您希望该数据有资格进行垃圾回收时,您可以正确地为该变量分配一些小的东西,例如undefined
ornull
或""
。但只有在变量持续存在时(例如,它是全局的或某些持久数据结构的一部分)才有意义,如上一个问题所述。
然后我提出了这样的测试请求:
setInterval(function() {
$.get('http://localhost/small-data', function(r) {
r = null;
},'json');
}, 1000);
在我的示例中,我的 URL(在 localhost)将仅输出5KB
;
jQuery 会将响应解析r
为 JSON,然后我创建一个setInterval
不做任何其他事情的循环,几个小时后,Firefox 将拥有比1GB
任务管理器更多的东西。
这没有意义。FF 从不释放内存。此示例代码是否存在内存泄漏?