2009-06-26 1 views
2

Что делать, если что-то нужно делать, чтобы предотвратить утечку информации об ошибке, связанной с ошибкой IE, при использовании ExtJS? Я видел this SO question и this ExtJS forum thread, но я надеюсь на короткий контрольный список вещей, которые нужно делать/избегать.ExtJS и позорная утечка памяти

ответ

4

Crockford has a function, который предотвратит утечку памяти (путем разрыва круговых ссылок) для вас.

YUI имеет функцию purgeElement в утилите Event, которая выполняет в основном одно и то же. Пока вы присоединяете всех слушателей через addListener и вызываете purgeElement перед удалением чего-либо из DOM, вы должны быть негерметичными.

+0

Спасибо! Не будет ли даже утечка памяти, когда пользователь перейдет от страницы? – erikkallen

+0

Надеюсь, но я не уверен. Если вы его измеряете и можете проверить, есть ли утечка (а не только кеширование IE, даже если вы сказали это не так), вы можете попытаться прослушать событие разгрузки окна и вызвать функцию очистки, но это так много работы, только сделайте это, если я могу проверить, что есть проблема. –

0

По-видимому, у ExtJs 3.1 есть много улучшений в производительности памяти (я не измерил, но похоже, что это так)
Однако вы должны быть очень осторожны с создаваемыми вами объектами и тем, как вы их уничтожаете, в значительной степени суть.

Использование IeSieve, и есть еще один инструмент, но я не могу действительно вспомнить название (я буду редактировать в 3 часа ночи, когда я просыпаюсь с я получил его! :))