утечка памяти javascript jsonp - PullRequest
2 голосов
/ 14 сентября 2011

Я вижу ту же проблему, описанную в Утечка памяти при извлечении JSON из WEB .

У меня просто есть функция, которая периодически делает запрос jsonp ajax.Моя функция вызывается другой функцией, запускаемой setInterval.

Я вижу утечку памяти во всех браузерах, которые я пробовал, IE, Safari, FireFox.Что-то, что я вижу в отладчике сценариев Safari, заключается в том, что каждый ответ на запрос ajax указывается в виде сценария в раскрывающемся списке в окне отладчика сценария, как будто существует какой-то объект сценария, который не очищается.

Я использую jquery 1.6.2.Это «долговременная» утечка, которая не устраняется после нескольких минут работы.

Есть идеи, что является причиной этого?

    request: function ()
    {
        $.ajax({
            url: <myurl>
            dataType: "jsonp",
            jsonp: "jsoncallback",
            timeout: 5000,
            cache: false,

            beforeSend: function (xhr)
            {
            },

            success: function (data, status, xhr)
            {
            },

            error: function (xhr, status, error)
            {
            },

            complete: function (req, status)
            {
            }
        });
    }
    ...
    setInterval(request, 100);

Ответы [ 2 ]

1 голос
/ 14 сентября 2011

Достаточно того, что вы отправляете ajax-запрос каждые 100 миллисекунд.

Будь в курсе, setInterval (запрос, 100 ); - 100 означает не секунды, а миллисекунды. 1 секунда = 1000 миллисекунд

0 голосов
/ 14 сентября 2011

Что касается утечки jQuery, см. Утечка памяти jQuery с удалением DOM

Есть утилита для поиска утечек памяти: http://www.outofhanwell.com/ieleak/Drip-0.5.exe

@ Бытие тоже верно.

...