Google开源Leak Finder——用于检测内存泄漏的JavaScript工具

近日,Google开源了Leak Finder,这款工具可以查看JavaScript应用的堆,进而发现内存泄漏。

作为一门垃圾收集语言,JavaScript并不会出现常见的内存泄露情况,特别是像C++等语言中所见到的那种。但如果依旧将内存分配给那些不再使用的对象,那么应用就会出现内存泄漏;如果泄漏情况很严重,那么应用的性能就会受到影响,甚至无法执行。

JavaScript中会导致内存泄漏的一种情况就是循环引用,特别是在使用闭包的情况下。当闭包导致内存泄露时,Leak Finder能够检测到,然后警告开发者并指出有问题的代码。该工具会在堆中查找Google Closures的goog.Disposable对象,验证dispose()方法是否得到调用以及事件监听器是否得到释放,因为他们持有着DOM对象的引用,因此会导致内存泄漏。

目前,Leak Finder与Closures搭 配使用,但你也可以通过配置让其与其他库搭配使用。Closures是个开源的JavaScript库,包含了小部件、一个事件框架、用于操纵DOM的工 具、一个单元测试框架、动画工具等组件,在GMail、GDocs及GMaps等众多Google服务中得到了广泛应用。

此外,代码分析必须得在Chrome 21及更高版本上进行,并且使用远程调试与开发者工具。

Google此前曾开源了不少JavaScript工具,如Closure Compiler(用于生成紧凑且高性能代码的工具)、Closure Templates(用于动态生成HTML)、Closure Linter(JavaScript风格检查器)及Closure Stylesheets(对CSS的一套扩展)。早在去年6月,Google曾发布了GWT(另一个用于构建JavaScript应用的工具集)的一个发布候选版,但其未来还是有些不太明朗,因为Google将很多GWT开发者都转到了Dart上,后者被看作是“对GWT的一次巨大变革,可以为最终用户创建出更棒的Web应用,我们对其潜力持乐观态度”。

查看英文原文:Google Open Sources Leak Finder, a JavaScript Tool for Detecting Memory Leaks

译者 张龙 热衷于编程,乐于分享,对新技术有强烈的探索欲,对Java轻量级框架有一定研究。

This entry was posted in ASP.NET. Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s