Утечки памяти: как сделать ?
Ни разу не программировал на языках с автоматическим освобождением памяти, как в javascript. Якобы этот язык содержит такие конструкции которые при неправильном использовании создадут утечки памяти. Я хочу проверить свои скрипты на наличие подобных багов, поэтому, для начала, попытался специально написать такой код который породит утечку памяти. Это оказалось не так просто: банальные циклические ссылки Firefox распознаёт очень быстро и удаляет все лишние объекты.
Поскольку я так и не смог создать утечку памяти, то хотел бы, чтобы кто нибудь написал простой код на javascript который создаст утечку памяти. Единственная оговорка: javascript код должен порождать утечку памяти из за особенностей языка javascript, а не из за ошибок в коде браузера. Другими словами будем считать, что браузер интерпретирует и выполняет javascript код идеально. |
Знакомый ник!!! :) Знаком по поверхностям ;-) ?
|
Цитата:
все утечки являются багос браузера, причем обычно на стыке JS и не-JS частей страницы |
Semen, да, мир тесен :) Правда я больше их не делаю - надоело :)
Gvozd, другими словами я не смогу сделать несколько бесполезных объектов которые нужны только друг другу, чтобы эти объекты через пару секунд не удалил браузер ? В таком случае javascript очень хороший язык :) Тогда переформулирую вопрос. Какие основные паттерны кода не любят браузеры ? IExplorer, как я догадываюсь, не любит язык javascript в целом (как и html, css и пр.) :) А что в случае правильных браузеров: firefox, opera, google chrome ? Особенно интересно увидеть код который не понравится Firefox, т.к. этот код я так и не придумал :) |
Draeden,
Что вы имеете в виду под "не понравится"? |
Цитата:
Парится об утечках памяти нужно только для необновленных версий IE6, IE7. Например, можно назначить огромное количество обработчиков событий так, чтобы в замыкание попали ссылки на DOM-элементы, тогда при каждом обновлении страницы, браузер будет занимать все больше и больше памяти. Так же есть специальная программа для обнаружения утечек памяти в Internet Explorer. |
Андрей Параничев, "не понравится" значит, что Firefox допустит утечку памяти.
Octane, там даже не javascript ? Впрочем на то он и эксплорер :) |
Цитата:
|
Цитата:
|
Ага...не в одной книге по JS об этом не говорилось
Ты хоть как врёшь |
Часовой пояс GMT +3, время: 00:19. |