【发布时间】:2011-08-23 09:48:42
【问题描述】:
我正在开发一个类似幻灯片的网络应用程序,其中当前图像被绘制到画布上,您可以使用下一个/上一个按钮翻阅图像。加载了someImage.src 的图像,出于性能原因,我在用户查看第一张图像时在后台执行此操作。
Firefox 在预加载期间分配了大量内存(比 Chrome 或 Safari 多 20-30 倍,甚至是 IE 的两倍)。此外,如果我更改幻灯片放映,我可以通过在后台加载幻灯片放映的 xml 描述(带有下拉菜单)而网站的 URL 保持不变,没有内存被释放,但分配了很多新的。直到我更改或重新加载网站的 URL,Firefox 才会解除内存。此行为与所有其他浏览器不同。
那里发生了什么?为什么 Firefox 如此饥渴?任何想法,如何解决? 有没有办法强制 Firefox 释放内存或减少用于预缓存加载(但未显示)图像的内存?
【问题讨论】:
-
这不是一个建设性的评论,但我早就放弃了相信 Firefox 能够谨慎处理内存的能力。 Firefox 7 beta 应该已经改善了这种情况
-
据我所知,JavaScript 的垃圾收集器永远不能直接调用,所以我认为你不走运。
-
@Gregory:可能没有建设性,但总是很高兴听到,你不是唯一的,不是吗?
标签: javascript firefox memory image-loading