Утечки памяти в jQuery Ajax - PullRequest
3 голосов
/ 15 июля 2010

Я видел некоторые другие сообщения на эту тему, но, похоже, что когда я делаю ajax-вызовы с jquery снова и снова (каждые 30 секунд в моем случае), я получаю утечку памяти. Переход от $ get к $ post (хотя и более безопасный) сокращает размер - это все же происходит. Даже если я ничего не делаю в ответ.

Есть идеи у кого-нибудь?

EDIT:

Вот код - извините, что не включил его в первый раз ....

$.post("Home/GetDashboard", { monitorDate: monitorDate }, function(data) {
    $.each(data, function() {
         // this code has been removed to help isolate leak
    });  
}, 'json');

Это приведет к утечке памяти каждый раз около 50 кб. Это дать или взять. У меня есть много кода DOM в функции $ .each (), и когда я включаю это, утечка памяти увеличивается до 100 кбайт при каждом вызове. Я вызываю эту функцию каждые 30 секунд, используя таймеры jQuery.

Я использовал метод $ .getJSON, но утечка памяти при этом была больше похожа на 300 КБ (YIKES!)

Ответы [ 2 ]

2 голосов
/ 15 июля 2010

Вам необходимо определить, какой процесс растет. Если это ASP.NET, то вы можете запустить профилировщик памяти, например ANTS . Если ваш браузерный процесс продолжает расти, вам нужно оценить DOM и выяснить, что происходит с таким инструментом, как FireBug .

0 голосов
/ 15 июля 2010

Нам действительно нужны некоторые доказательства.

Можете ли вы включить статистику и скриншоты?О каких браузерах и операционных системах вы говорите?

Вам также нужно показать какой-то код, заменяете ли вы большие фрагменты DOM?(если вы используете дрянные панели обновления, обернутые вокруг больших форм, это реальная возможность!) Если да, то как вы это делаете?

Каким инструментом вы воспользовались, чтобы найти утечку (и)?

Можете ли вы воссоздать проблему в jsbin или jsfiddle?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...