Javascript: утечка памяти с циклом? - PullRequest
1 голос
/ 14 ноября 2011

У меня есть простой цикл, который создает и уничтожает (надеюсь) пустые объекты: http://jsfiddle.net/TgWze/

function Test()
{
}

function generate()
{
    for(var i = 0; 1000 > i; ++i)
    {
        var view = new Test();

        delete view;
    }
}

Профиль памяти в Chrome / Safari показывает поведение, подобное утечке памяти, если я продолжаю нажимать нассылка: http://cl.ly/BnCV

Я что-то упустил?

Ответы [ 3 ]

3 голосов
/ 14 ноября 2011

Это похоже на нормальное поведение GC.Если объектов слишком много, ГХ очищает их.

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

3 голосов
/ 14 ноября 2011

Это управляемая память. Таким образом, он будет собирать удаленный объект в некоторый момент, когда запускается сборщик мусора. Вы удаляете объекты на самом деле ничего не делаете. Однако, поскольку представление никогда не является ссылочным, его следует легко собирать.

0 голосов
/ 06 августа 2012

Этот код не пропускает.

Чтобы убедиться, вы можете сделать снимки памяти и сравнить до и после.Посмотрите на это руководство, которое я написал, для более подробной информации: http://www.vladalexandruionescu.com/2012/08/javascript-memory-leaks.html.

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