Google только что выпустил средство поиска утечек памяти для JavaScript. Это открытый исходный код, и он готов работать на вас.
Введение на страницу поиска утечек в Google Code гласит:
«В JavaScript у вас не может быть« утечек памяти »в традиционном смысле, но у вас могут быть объекты, которые непреднамеренно остаются в живых и которые, в свою очередь, поддерживают жизнь других объектов, например, больших частей DOM».
Это покажется немного пустым для любого, кто помнит, как в первые дни замыкания приводили к утечке памяти, как сейвы. Но если не считать таких сбоев движка JavaScript, это утверждение верно в теории. В языке со сборкой мусора у вас не может быть утечек памяти из-за неправильного управления пулом памяти .; пула памяти нет, и объекты собираются сборщиком мусора, как только на них нет ссылок.
Нажмите, чтобы увеличить изображение — открывается в новом окне
Конечно, вы можете забыть разыменовать объекты, которые используете, и на самом деле это не утечка памяти, а просто неэффективность. Новый инструмент поможет вам найти такие проблемы, но за это придется заплатить. Вы должны изменить свой код, чтобы использовать goog.Disposable и явный вызов dispose () для объекта, прежде чем освободить ссылку. Он также работает с закрытием по умолчанию, но вы, очевидно, можете использовать его с другими библиотеками.
Он также работает только с Chrome и не требует особых усилий для установки.
Все это говорит мне о том, что мы все еще плохо обслуживаем с точки зрения инструментов JavaScript. Да, приятно иметь бесплатный поисковик утечек памяти с открытым исходным кодом, даже если он заставляет вас использовать одноразовый шаблон. Менее приемлемо то, что он не интегрирован в простой в использовании интегрированный отладчик.
Многие программисты на JavaScript ищут свою идеальную среду разработки, но еще больше тех, кто даже не знает, что все должно быть так, и поэтому даже не подозревают, что им не хватает простой в использовании. использовать IDE.