ajax网站内存使用积累/ Chrome

时间:2014-09-26 15:21:43

标签: javascript ajax image memory memory-leaks

我有一个ajax / pushstate网站,它通过ajax加载数据(页面)。在Chrome(也许还有其他浏览器)中,我注意到在浏览页面时会累积内存消耗,尤其是包含大量图像的页面。你可以在这里查看网站: mjau-mjau.com

我知道有很多关于一般javascript内存泄漏和内存管理的信息,但这个问题在大多数意义上似乎与包含大量图像(通常是大图像)的页面直接相关。就好像在页面之间导航时更换html上下文后,图像文件不会从内存中刷新。

有什么我可能会忽略的吗?浏览器不应该自动回收已删除的html数据的内存,包括图像吗?当使用transform?在页面之间转换时,它是否会以某种方式与GPU层相关?

建议表示赞赏。

1 个答案:

答案 0 :(得分:1)

我追踪了这个错误,发现它只发生在Chrome浏览器中。此外,它似乎与延迟加载的图像和ajax页面直接相关。在ajax调用后从DOM中删除加载的图像时,它们不会从内存中删除。我设法找到一个黑客,它在用新数据更新DOM之前以某种方式从内存中清除它们。

$('#content').find("img").off().attr('src', '').remove();

我不确定是否需要以上所有内容,但是这个组合符合公平程度。奇怪的是,在带有图像的另一个页面替换#content DOM元素之前,内存不会被回收。 Chrome中的Buggy内存管理!