утечка памяти JavaScript

У меня есть некоторый JavaScript (используемый с API карт Google), что я тестирую на IE и Chrome и замеченных признаках утечки памяти в IE только: когда я обновляю страницу непрерывно, объем памяти, используемый в IE, продолжает становиться (быстрым), но в Chrome это остается постоянным. Не отправляя весь код (поскольку это довольно длинно), я могу получить некоторые предложения относительно того, что высматривать? Что могло заставить память продолжать расти как это в IE на обновлениях страницы?

Как я сказал, что знаю его твердое без кода, но я хотел бы видеть, работает ли универсальный совет сначала.Спасибо.

Обновление: спасибо за ответы до сих пор. Как проверка работоспособности, я запустил API карт Google "Привет Мировой" код из Google для наблюдения то, что произойдет в IE (код показывают ниже). При выполнении этого кода в IE, когда я продолжаю обновлять страницу много раз, память продолжает расти и расти. Действительно ли это - утечка памяти? Это не походит на намеченную функциональность...








  

Обновление 2: Так нет ли никакой способ заставить этот код API карты google Hello World работать, не пропуская память в IE? Я заметил, что, если я выполняю тот же эксперимент на maps.google.com, кажется, нет утечки... Было бы замечательно, если кто-то мог бы помочь мне изменить привет мировой код так, чтобы это не протекало в IE; этим путем я могу создать прочь из него (я не возражаю использовать JQuery, если это помогло бы, но я попробовал его на Привет Мировом коде, и это все еще протекало в IE). Еще раз спасибо

6
задан hhj 7 June 2010 в 14:39
поделиться

4 ответа

Одним из хорошо известных источников утечек памяти IE является (преднамеренное или случайное) улавливание «материала» Javascript в ограничениях (функциях). как обработчики событий для элементов DOM. По этой причине большинство фреймворков изо всех сил стараются очистить обработчики событий явным образом.

1
ответ дан 10 December 2019 в 02:43
поделиться

Большинство ответов на данный момент помогут вам добраться туда, поэтому я добавляю ссылку на статью о IBM Dev Works для шаблонов утечки памяти в JavaScript (вы можете найти ее полезной)

http://www.ibm.com/developerworks/web/library/wa-memleak/

0
ответ дан 10 December 2019 в 02:43
поделиться

Вам также необходимо выполнить GUnload перед тем, как покинуть страницу. Просто добавьте событие «выгрузка»:

<body onload="initialize()" onunload="GUnload()">

Подробнее об этой утечке читайте в API Карт Google

1
ответ дан 10 December 2019 в 02:43
поделиться

Обновление:

Я протестировал приведенный выше код с помощью drip.exe и кажется, что действительно что-то есть как утечка памяти. Использование памяти неуклонно росло при запуске кода с автоматическим обновлением в течение нескольких минут.

Обновление 2:

Я думаю, это ошибка: http://code.google.com/p/gmaps-api-issues/issues/detail?id=1555&can=1&q=unload&colspec=ID % 20Type% 20Status% 20Introduced% 20Fixed% 20Summary% 20Internal% 20Stars

7
ответ дан 10 December 2019 в 02:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: