утечка памяти производительности javascript - PullRequest
2 голосов
/ 14 июля 2011

В моем веб-приложении при загрузке модуля js возникает проблема с производительностью. Я едва могу выполнить операцию перетаскивания / щелчка после запуска страницы несколько раз (10+ минут).

Так что я думаю, что это должно быть вызвано файлом js, это может вызвать утечку памяти, но я не знаю, как найти проблему.

Кто-нибудь может дать мне какое-нибудь предложение?

Ответы [ 3 ]

1 голос
/ 14 июля 2011

Я бы попробовал DynaTrace Ajax Edition .

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

Вот статья об одном из способов обнаружения утечек памяти с помощью инструментов разработчика Chrome: https://developers.google.com/chrome-developer-tools/docs/heap-profiling.

Кроме того, в этой статье рассказывается о том, как утечки памяти могут происходить в JavaScript, в целом: http://www.javascriptkit.com/javatutors/closuresleak/index.shtml. Обычный случай, когда существуют циклические ссылки между миром JavaScript и миром DOM. В мире JavaScript есть GC, который знает, как очищать циклические ссылки, но в мире DOM есть совершенно другой GC. Сочетание двух миров в некотором роде (которые на первый взгляд выглядят безобидными) может привести к утечкам памяти даже в современных браузерах.

Если память быстро заполняется, это часто происходит из-за отдельных деревьев DOM. Если это элементы холста или изображения, они могут занимать гораздо больше памяти, чем кажется в инструменте профилирования (поскольку данные изображения хранятся где-то еще). Конечно, это только один пример - есть много способов быстро заполнить память.

0 голосов
/ 14 июля 2011

Вы хотите использовать valgrind с браузером, если хотите проверить утечку памяти.

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