是否有用于 Firefox 的工具/插件/功能可以转储您在页面/脚本中创建的 Javascript 对象的内存使用情况?我知道 Firebug 的分析器,但我想要的不仅仅是时间。类似于 Yourkit 用于 Java 内存使用分析的东西。
原因是一位同事在数组中使用 id 作为“键”,并在他这样做时创建了 1000 个空槽。他认为这是无害的,而我的看法不同。我想提供一些证据来证明我是否正确。
是否有用于 Firefox 的工具/插件/功能可以转储您在页面/脚本中创建的 Javascript 对象的内存使用情况?我知道 Firebug 的分析器,但我想要的不仅仅是时间。类似于 Yourkit 用于 Java 内存使用分析的东西。
原因是一位同事在数组中使用 id 作为“键”,并在他这样做时创建了 1000 个空槽。他认为这是无害的,而我的看法不同。我想提供一些证据来证明我是否正确。
我还没有尝试过软件验证工具,但 Mozilla 有一些工具可以跟踪 firefox 消耗的整体内存以阻止泄漏:
http://www.mozilla.org/performance/tools.html
和:
https://wiki.mozilla.org/Performance:Leak_Tools
还有一个人说要避免在闭包的情况下使用大数组,朝向文章底部
我认为Software Verification Limited 的JavaScript Memory Validator可以为您提供帮助,它有分配视图、对象视图、世代视图等。它不是免费的,但您可以使用评估版来检查您同事的代码。他们还有一个性能和覆盖率验证器......
查看源代码。稀疏数组不会占用大量内存,但是如果您的同事不需要任何Array
功能,那么无论如何他都应该使用 plain Object
s。
还可以尝试about:memory
显示每个窗口占用多少内存以及其中有多少专用于 JS 对象。它提供了没有每个对象使用情况的高级摘要,但它是调查站点内存需求的一个很好的起点。