Что делать, если что-то нужно делать, чтобы предотвратить утечку информации об ошибке, связанной с ошибкой IE, при использовании ExtJS? Я видел this SO question и this ExtJS forum thread, но я надеюсь на короткий контрольный список вещей, которые нужно делать/избегать.ExtJS и позорная утечка памяти
ответ
Crockford has a function, который предотвратит утечку памяти (путем разрыва круговых ссылок) для вас.
YUI имеет функцию purgeElement в утилите Event, которая выполняет в основном одно и то же. Пока вы присоединяете всех слушателей через addListener
и вызываете purgeElement
перед удалением чего-либо из DOM, вы должны быть негерметичными.
По-видимому, у ExtJs 3.1 есть много улучшений в производительности памяти (я не измерил, но похоже, что это так)
Однако вы должны быть очень осторожны с создаваемыми вами объектами и тем, как вы их уничтожаете, в значительной степени суть.
Использование IeSieve, и есть еще один инструмент, но я не могу действительно вспомнить название (я буду редактировать в 3 часа ночи, когда я просыпаюсь с я получил его! :))
Спасибо! Не будет ли даже утечка памяти, когда пользователь перейдет от страницы? – erikkallen
Надеюсь, но я не уверен. Если вы его измеряете и можете проверить, есть ли утечка (а не только кеширование IE, даже если вы сказали это не так), вы можете попытаться прослушать событие разгрузки окна и вызвать функцию очистки, но это так много работы, только сделайте это, если я могу проверить, что есть проблема. –