У меня есть некоторый 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). Еще раз спасибо
Одним из хорошо известных источников утечек памяти IE является (преднамеренное или случайное) улавливание «материала» Javascript в ограничениях (функциях). как обработчики событий для элементов DOM. По этой причине большинство фреймворков изо всех сил стараются очистить обработчики событий явным образом.
Большинство ответов на данный момент помогут вам добраться туда, поэтому я добавляю ссылку на статью о IBM Dev Works для шаблонов утечки памяти в JavaScript (вы можете найти ее полезной)
Вам также необходимо выполнить GUnload перед тем, как покинуть страницу. Просто добавьте событие «выгрузка»:
<body onload="initialize()" onunload="GUnload()">
Подробнее об этой утечке читайте в API Карт Google
Обновление:
Я протестировал приведенный выше код с помощью 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