在.remove()之后图像对象是否保留在RAM中?

时间:2013-05-19 12:47:44

标签: jquery image ram photos

我有一个网站,里面有很多大照片,总是在html中设置。像

<div><img src="sample1.jpg"></div>
<div><img src="sample2.jpg"></div>
<div><img src="sample3.jpg"></div>
<div><img src="sample4.jpg"></div>
....

这使得网站非常慢。即使.animate()函数也可以解决问题。所以我决定只加载5张图片,其他图片根据要求加载。问题是当加载的图像太多时,网站会再次变慢。问题:

如果我使用.remove()函数删除正在显示的图像周围的所有图像,图像是否仍然保留在RAM中,或者当我添加图像时它们将被删除并从缓存中再次拍摄?

希望问题很清楚, 提前谢谢。

1 个答案:

答案 0 :(得分:1)

你不能使用Javascript / jQuery强制删除浏览器活动内存中的任何内容,但是就像其他用户在使用.remove()时所说的那样,删除的元素会暴露给垃圾收集。

我认为不太可能是这些图片导致您看到的速度减慢,而且更可能是您的其他一些脚本代码出现问题。

我假设你的速度减慢意味着像页面滞后指示内存/ CPU使用。

如果问题是实际的页面加载时间,则问题出在其他地方并且与占用的RAM无关,但更可能是由于图像的加载时间,如果可能的话,在服务器端删除不必要的图像。