Почему мой Chrome Profiler не показывает правильные пути сохранения для моих объектов, и почему мои объекты никогда не освобождаются?

Я пытаюсь отладить утечку памяти в моем webapp.

Я делаю снимки кучи и сравниваю разные кучи.

Я обнаружил, что некоторые из моих объектов являются ссылками где-то. Однако все мои объекты сохраняются через объекты, которые выглядят внутренними для меня, например:

Profiler showing my classes being referenced

Как вы можете видеть, на этот объект SectionNavView ссылаются несколько методов, которые я создал: cleanUp, hide, isShown и т.д., используя мою локальную переменную that, но на эти методы ссылаются из чего-то, что я не контролирую: idToWrappedObject. Иногда есть еще один посредник - объект injectedScript.

Если на мои объекты ссылаются только внутренние ссылки V8, разве они не должны быть освобождены до того, как профилировщик сделает снимок во время GC?

23
задан machineghost 8 October 2015 в 02:31
поделиться