English 中文(简体)
我该如何在Firefox中跟踪和调试JavaScript内存泄漏?
原标题:
  • 时间:2008-10-14 11:46:24
  •  标签:

我已经尝试追踪这个问题有一个月了,但没有取得任何进展。我在一个汽车广告网站上有一段代码,它可以在搜索结果中使汽车的缩略图旋转,前提是该汽车有多张图片。您可以在以下网址中看到它的操作:

http://www.abcavendre.com/4506691919/

它是建立在Mootools 1.2框架上的。问题在于,在火狐3下,当一个页面充满那些旋转的图片时,比如这个库存页面,这个脚本会随着时间的推移消耗相当大的内存。

将此翻译成中文:http://www.abcavendre.com/Vitrine/Israel_Huttman/ http://www.abcavendre.com/Vitrine/Israel_Huttman/

您可以在此处查看相关脚本的源代码:

http://www.abcavendre.com/scripts/showcase_small.js

有任何想法是什么引起了内存泄漏?奇怪的事情是这段代码在IE7下表现正常。

最佳回答

在Firefox中跟踪内存泄漏的一种方法是使用泄漏监视器插件。它显示JavaScript(包括扩展脚本)的内存泄漏。

请注意,插件有时会显示出即将被垃圾收集器清除的泄露对象。如果出现这种情况,插件将启动一个新窗口显示新的状态。

问题回答

更新到 MooTools 1.2.1,我们已经改进了垃圾收集和泄漏处理。

尝试在初始化函数的末尾将元素变量数组归零。

    ...

    if (ads.length > 0)
        {
        this.imagesFx = new Fx.Elements(elements,
            {
            wait: false,
            duration: 1000
            });
        this.moveNext.periodical(2500, this);
        }

    elements = null; //Add THIS!
}




相关问题
热门标签