关于ie中jscript的内存泄漏
来源:互联网 发布:爱奇艺旧版软件源 编辑:程序博客网 时间:2024/04/28 19:31
关注这个问题有一阵子了。网上找找,Douglas Crockford 的文章《JScript Memory Leaks》有详细说明,鸟食轩也有一系列相关文章。
以下是对《JScript Memory Leaks》一文的节选翻译,大致说明了ie内存泄漏的原因。
“microsoft的ie浏览器有许多内存泄漏问题,最严重的就是使用jscript交互引发。当dom节点包含了一个对javascript对象(如事件处理函数onclick)的引用,同时该javascript对象也引用此节点时(如鼠标单击时隐藏节点),就形成了一个循环结构。它本身没有问题——当对dom节点和事件处理函数的引用消失,garbage collector(一个自动的内存资源管理器)会回收它们,使它们占用的空间再分配。javascript的garbage collector理解循环,不会产生问题。不幸的是,ie的dom不归jscript管。ie有自己的内存管理器却不理解循环,因此产生混乱。结果,当循环出现,却没有内存回收,没被回收的内存就泄漏了。时间长了,就会导致内存不足,当内存空间涨满,浏览器就死了。”
注:“javascript”指的是语言本身,“jscript”是microsoft的类似javascript脚本语言。
Crockford 建议的解决方法是:在删除含有对javascript对象引用的dom节点之前,把属性中类型为function的全部清除(设为null)。我试过,确实有效。
- 关于ie中jscript的内存泄漏
- 关于IE内存泄漏问题...
- 关于ie的内存泄漏与javascript内存释放
- 关于ie的内存泄漏与javascript内存释放
- 关于ie的内存泄漏与javascript内存释放
- 关于IE的内存泄漏与JavaScript内存释放
- IE内存泄漏补充:关于循环引用的详细解释
- IE内存泄漏的问题
- IE的内存泄漏问题
- 导致IE浏览器内存泄漏的研究
- (转载)Java中关于内存泄漏出现的原因以及如何避免内存泄漏
- Java中关于内存泄漏出现的原因以及如何避免内存泄漏
- Java中关于内存泄漏出现的原因汇总及如何避免内存泄漏
- 转:IE内存泄漏
- ie内存泄漏
- IE内存泄漏 【转】
- IE内存泄漏问题
- 关于Java的内存泄漏
- Designing Data Storage Architecture - SQL Azure - why use it and what makes it different from SQL se
- hs_err_pid5604.log错误
- Shell处理字符串常用方法
- 删除重复行
- 纠结的IE浏览器内存泄漏的测试
- 关于ie中jscript的内存泄漏
- Javascript的内存释放实验
- php操作mysql的常用语句详解
- JavaScript 中的内存泄露模式
- xcopy 是一个很有用的doc命令
- 简单统计分数的程序
- JAVA学习之路(一)
- 在IE下的JS编程需注意的内存释放问题
- 浏览器调用外部程序的注册表键