【发布时间】:2009-08-26 13:58:23
【问题描述】:
在 Windows 中,当应用程序最小化时,操作系统通过将数据放在页面文件中来释放与应用程序相关的内存。其他垃圾收集也可能执行。
在 Internet Explorer 运行我的 javascript 应用程序的情况下,我发现如果内存使用量从 60mb 开始,那么最小化浏览器会将内存减少到 17mb。最大化然后将其恢复到 40mb
20mb 的增益。
我的应用程序大量使用了 javascript,我怀疑 IE 正在强制收集不再引用的对象。
通过 javascript(仅限 IE),您可以通过以下方式强制垃圾收集:
CollectGarbage()
所以,如果我调用这个方法(不最小化屏幕),我只会回收一个或 2 个 meg。
如果我通过事件队列调用它:
setTimeout(CollectGarbage, 1000)
我回收了大约 3 兆欧
我的应用程序设计为全天运行,因此内存管理非常重要。
有人知道如何强制 IE 清理其内存,达到与手动最小化相同的程度吗?
以编程方式最小化浏览器的建议将被嘲笑!
干杯:)
【问题讨论】:
-
您的应用是否会使用任何特定的库或框架?
标签: javascript memory explorer