在Javascript中的IE和内存累积

use*_*362 7 javascript memory internet-explorer

这是测试URL

http://edventures.com/temp/divtest.php

程序:

  1. 关闭所有IE实例.
  2. 在IE7中打开URL
  3. 打开任务管理器,查找IE消耗的内存
  4. 现在点击Create按钮,
  5. 观察它会跳起大约2K的记忆
  6. 现在点击Destroy按钮,DIV将被销毁,但内存保持不变.
  7. 你可以反复尝试,内存只是加起来.

有没有什么办法解决这一问题?有没有重新加载窗口强行调用垃圾收集器的方法?

我假设当我删除DIV时,内存将被释放,但似乎不会那样工作.

请让我知道任何解决方法.

谢谢你的帮助.

苏哈斯

tj1*_*111 10

以下是如何创建DOM元素并防止IE中的内存泄漏.

function createDOMElement(el) {
  var el = document.createElement(el);

  try {
    return el;
  }
  finally {
    el = null;
  }
}
Run Code Online (Sandbox Code Playgroud)

您可以使用try/finally技巧的变体来防止在执行其他DOM操作时发生泄漏.