window.open 打开一个窗口后。任务管理器中iexploer.exe 进程增加2M内存。关闭减去500k~1M.
这样一直重复操作下去,iexploer.exe使用内存不断增加(大概达到120M 时,50多个窗口左右),打开的IE窗口出现白屏,父窗口无法响应,xp 桌面开始菜单无法打开。xp 右键菜单无响应。结束iexploer.exe 后,恢复正常。
windows2003 和windows2000 下没有问题。
主要问题可能是ie6内存释放问题,或者是嵌入在ie 中的插件问题,无法确认。
被此问题困饶很久。按一下方法可以缓解或解决(具体原因无法深入)。
1、升级ie6 至最新。
2、把
function freedoc(obj){
for ( var p in obj ){
try{
p = null;
}catch(e){
alert(e);
}
}
setTimeout(CollectGarbage, 1);
CollectGarbage();
}
window.document.onunload = freedoc(document);
写入到unloadfree.js 中,在需要的文件中引入。
3、CollectGarbage 并不会马上释放内存,但是会在窗口最小化时释放。所以最好和客户沟通以下,在系统不用时,最小化它。
实际测试中系统比较正常。打开一百以上的窗口,没有出现问题。
注释 //window.document.onunload = freedoc(document);
内存略有上升。但没有上升那么快。
建议:
一定升级一下ie6 。(我机器上的ie版本)
阅读(2905) | 评论(0) | 转发(0) |