Firefox Iframe内存泄漏

时间:2010-06-04 18:46:33

标签: javascript firefox memory redirect memory-leaks

我们正在开发一个JavaScript应用程序,它确实崩溃了,我们无法看到。应用程序的本质是它每隔几秒就使用javascript重定向页面。并在设定的时间内旋转多个网页。

因此,在我们的代码中搜索潜在的内存泄漏时,我们将其设置为在Firefox中运行几天。在它运行的同时我们每天都注意到firefox的内存使用情况。它像我们怀疑的那样。记忆足迹在那个时候增长了。所以我们决定使用以下设置测试firefox: 两个html页面,每个页面都有一个图像。两者都使用元重定向来保持页面之间的切换。这些页面显示在第3页的iframe中。

此设置显示相同的结果。随着时间的推移增加内存分配。然而。应该注意的是,我们在firefox中测试了相同的设置,但是没有使用Iframe,并且没有看到内存使用量的增加。

所以问题:任何想法会导致什么?或者有人知道在使用Iframe和页面重定向时Firefox中是否有任何报告的内存泄漏?

3 个答案:

答案 0 :(得分:1)

我们发现Firefox + iframes内存泄漏已被确认 https://bugzilla.mozilla.org/show_bug.cgi?id=858615

我们一直在Mac上体验它,在html中使用此代码进行ip camera

<tr>
<div class="box">
<iframe src="http://10.0.1.31:8031/mjpeg.cgi" width="460" height="345"
  class="smart_sizing_iframe noresize" frameborder="0" scrolling="no" >
</iframe>
</div>
</tr>

Safari没有这个问题。

答案 1 :(得分:0)

内存使用量的增加率是否随着时间的推移而减少并最终停止,或者是否继续增长?由于存储器碎片化,在测试开始时预计会有一些内存增加。

测试用例是否张贴在某处?

答案 2 :(得分:0)

在我正在处理的应用程序中,我观察了firefox中的行为,其中iframe文档中的javascript引用了父文档,如下所示:

$('#md-frame', window.parent.document).css('pointer-events','none');

我注意到如果你重新加载iframe的src,那么iframe中的所有javascript都会存在两次,就好像有2个实例一样。如果你再次刷新iframe的src,iframe的js中的所有事件都会存在3次等等......所以我也可能是一个明显的内存泄漏。

这就是我重新加载iframe src的方式:

$("#md-frame").attr('src',$("#md-frame").attr('src'));

我试图在奇怪的行为重新绑定它们之前解除所有事件的绑定但是没有太多运气。

如果有其他人有此经验。我很欣赏听到它。我们仍然在firefox中与这个问题争论不休。