Есть ли утечка памяти в JavaScript Firefox / WebKit? (кроме IE) - PullRequest
5 голосов
/ 30 июля 2010

Я новичок в приложении HTML5.И я делаю собственное программное обеспечение.Это означает, что я могу заставить пользователей использовать только самую последнюю версию firefox / webkit.

Я видел много документов, касающихся утечек памяти JS в этой точке:

  1. Циркулярные ссылки.*
  2. Обработчики событий.
  3. Замыкания.

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

1 Ответ

2 голосов
/ 30 июля 2010

Используйте библиотеку JavaScript, и все будет в порядке.jQuery делает это так, что вы можете иметь циклические ссылки, замыкания, которые ссылаются на объекты jQuery, и обработчики событий, которые вы никогда не очистите.При необходимости jQuery автоматически подберет все части при выгрузке и предотвратит утечку памяти в любом браузере, который он поддерживает.

Если вы разрабатываете приложение на основе JS, в котором страница никогда (или редко) не обновляется, тогда вам, возможно, придется беспокоиться о утечках, но их легко преодолеть, создавая плагины, которые имеют деконструкторы, которые уничтожают все объекты-члены и элементы dom.Функция jQuery .remove удаляет элементы dom, обработчики и все, что связано с этим элементом.

Так что просто используйте библиотеку JS, и если вам нужно разработать много кода JS, будьте осторожны и используйте шаблон проектирования, который легко очистить (например, шаблон проектирования плагинов jQuery).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...