【发布时间】:2012-10-01 20:49:28
【问题描述】:
我有一个使用 Firebreath 构建的插件/activex(不知道哪个版本,我认为至少 1.6 - 如果有人告诉我在哪里看,我会在这里更新)。
在 IE8 中,而不是在 IE9 或 Chrome 中,每次页面刷新时内存使用量会增加几 MB。
我怀疑这意味着我在 javascript 中有一个循环结构,它也包含对插件的引用。还是包含插件的 DOM 元素?我们不会在 javascript 中构建任何“大”的东西,所以我的重点放在组成插件的(几个 MB)DLL 上。这是一个合理的想法吗?还有什么可能导致这种情况和/或我该如何调试它?
【问题讨论】:
-
好的,请稍等。你知道当你向某人解释一个错误时,大约 2/3 的时候你会说“哦!等一下……”
-
因此,如果我添加 javascript 来删除包含插件的 DOM 元素,并取消我对它的其他引用...然后只有这样 IE8 才会调用我的 shutdown() 方法,并销毁插件对象。然后内存蠕变要小得多,变化莫测,但平均最多 100KB,而不是 1-2MB。
-
到哪里看取决于你是怎么得到的;如果你从 git 得到它,提交哈希是有用的。如果您下载了 tarball 或 zip,根目录中有一个版本文件,其中包含该提交哈希。
标签: firebreath