使用jQuery UI选项卡时的内存泄漏(版本1.8.9)

时间:2011-02-21 09:06:20

标签: jquery jquery-ui memory-leaks

使用jQuery 1.8.9 UI选项卡时出现内存泄漏问题,对于导致问题的原因我感到有些困惑。这个问题似乎只出现在IE中。我正在使用IE8,(尚未在7或6上测试过)。 Firefox和Chrome都可以。

标签初始化如下:

$("#tabContent").tabs({ cache: false, ajaxOptions: { cache: false} });
$("#tabContent").bind('tabsselect', tabSelected);
$("#tabContent").bind('tabsload', tabLoaded);

$("#tabContent").tabs("url", 0, "SomePage.aspx?id=1" + "&project=" + projectName);
$("#tabContent").tabs("url", 1, "SomePage.aspx?id=2" + "&project=" + projectName);
$("#tabContent").tabs("url", 2, "SomePage.aspx?id=3" + "&project=" + projectName);
$("#tabContent").tabs("url", 3, "SomePage.aspx?id=4" + "&project=" + projectName);

页面'SomePage'有一个列表,其中包含状态列,我需要检查更新。我每5000毫秒轮询一次(使用this timeout plugin):

$.doTimeout('tabDisplay', 5000, function() {
    $("#tabContent").tabs("load", $("#tabContent").tabs('option', 'selected'));
    return true;
});

可以肯定的是,内存使用量每5秒就会增加一次(与该选项卡上列表的大小成正比)。

有关可能导致此问题的任何建议吗?

1 个答案:

答案 0 :(得分:1)

我无法真正帮助解决这个问题,但我可以告诉你,我为同一个issues做了很多努力 有一天,其他人在IE8 and jQuery遇到了另一个问题。 我不认为它与jQuery UI有关,但我认为与jQuery和IE8有更多关系:

http://spin.atomicobject.com/2010/10/08/jquery-ajax-memory-leak-in-ie8#fn0
http://bugs.jquery.com/ticket/6242

我发现很多人都在为同样的问题而努力,但没有真正的解决方案。

PS:在所有这些情况下都有投票。看来jQuery没有处理资源。 我指的是jQuery 1.4.x