如何解决此Javascript内存管理错误?

时间:2011-10-03 16:20:07

标签: javascript html garbage-collection

我有一个全局存储的图片数组。每一秒我都会在屏幕上选择一张图片,将其淡出,然后将其替换为阵列中的图片。我使用:$("#picture" + picture.id).remove()从屏幕上删除当前图片。然后我用

$(".pictureframe").prepend(

<div id="picture+picture.id" class="imageframe" style="opacity:0; left:x px; top:y px;" >
    <img class="image" width="picture.width" height="picture.height" src="picture.source" />
</div>

);

我删除了所有转义以便于阅读。图片是对象所以picture.id是图片ID。问题是打开页面(并且只打开一个页面)可以杀死浏览器内存。我只用那个页面就可以达到1.4gb的使用率。我想,浏览器每次重新插入时都会创建一个图像克隆。是否有垃圾收集器删除功能,我可以调用我删除的DOM元素?我该怎么做?

1 个答案:

答案 0 :(得分:1)

我要这样做的方法是同时将所有图像放在那里,但是只有其中一个设置为display: none,然后根据需要淡入/淡出它们。这样就没有真正的DOM操作,只有样式,内存不会从计算机的USB端口泄漏出来:p