Ajax-тяжелые JS-приложения, использующие чрезмерное количество памяти с течением времени

Кажется, у меня довольно большие утечки памяти в приложении, над которым я работаю. Само приложение не очень сложное. Каждые 15 секунд страница запрашивает с сервера около 40 КБ JSON и рисует на странице таблицу, используя его. Перерисовать таблицу дешевле, потому что данные обычно всегда новые. Я прикрепляю к таблице несколько событий, примерно 5 на строку, 30 строк в таблице. Я использовал метод jQuery .html (), чтобы поместить новый html в контейнер и перезаписать существующий. Я делаю это специально для того, чтобы специальные функции очистки jQuery пытались отсоединить все события от элементов в элементе, который он перезаписывает. Затем я также удаляю большие переменные html, когда они отправляются в DOM, используя delete my_var .

Я несколько раз проверял наличие циклических ссылок и прикрепленных событий, которые никогда не очищались, но ДЕЙСТВИТЕЛЬНО не откопал внутрь. Мне было интересно, может ли кто-нибудь дать мне несколько советов о том, как оптимизировать очень тяжелое приложение, подобное этому. Я только что взял "High Performance Javascript" Николаса Закаса, но у него еще не было времени, чтобы разобраться в этом.

Чтобы дать представление о том, сколько памяти он использует, через 4 часа он использует около 420 000 КБ для Chrome и многое другое для Firefox или IE.

Спасибо!

5
задан Shane Reustle 14 January 2011 в 21:52
поделиться