论坛首页 AJAX版 JavaScript

IE js变量内存释放的问题

浏览 587 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2008-03-24
<script>
var a=[];
for(var i=0;i<20000000;i++){
 a.push('a');
}
a=null;//不行?
a=[];//这样也不行?
delete window.a;//还是不行啊?
</script>

这段代码执行后,IE内存占用还是几百MB,等了几分钟也不见释放,比较奇怪
  • F9440174-926a-33c0-bf40-22c7fdfbb103-thumb
  • 描述: 运行前
  • 大小: 23.8 KB
  • Daee288c-43a3-3b5d-b13d-f88a74c7c104-thumb
  • 描述: 运行后
  • 大小: 23.9 KB
   
最后更新时间:2008-03-24
javascript中把变量设为null,javascript并不会把内存释放,当下次再次定义变量时,就会覆盖此变量所在的内存。如果不设为null,javascript再次定义变量时,会开辟一个新的内存空间。

Please try CollectGarbage() 

how to write code here ?.....
<code>
System.gc = function ()
{
  if (System.isIeBrowser())
  {
    CollectGarbage();
    setTimeout("CollectGarbage();", 1);
  }
}
</code>
   
0 请登录后投票
论坛首页 AJAX版 JavaScript

跳转论坛:
JavaEye推荐