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