IE内存泄露,iframe内存泄露造成的原因和解决方案
2013-03-20 11:21
344 查看
http://msdn.microsoft.com/en-us/library/bb250448.aspx
中文翻译:http://birdshome.cnblogs.com/archive/2006/05/28/IE_MemoryLeak.html
Ext核心开发人员Jack的回答是,TabPanelItem在关闭时并不会对自定义到tab中的元素做特殊处理,这部分工作必须在控件外来完成。另一方面,相关资料称IE在iframe元素的回收方面存在着bug,在通常情况下应该将该元素的src属性值修改为”abort:blank”,并手工将其从DOM树上移除,然后把脚本中引用它的变量置空并调用CollectGarbage()就可以避免iframe不能正常回收所造成的内存泄露。
按照上述方法,在tab的close事件中添加了iframe的销毁代码,IE的内存泄露问题得以解决。
var frame = $('iframe');
frame[0].contentWindow.document.write('');//清空iframe的内容
frame[0].contentWindow.close();//避免iframe内存泄漏
frame.remove();//删除iframe
中文翻译:http://birdshome.cnblogs.com/archive/2006/05/28/IE_MemoryLeak.html
Ext核心开发人员Jack的回答是,TabPanelItem在关闭时并不会对自定义到tab中的元素做特殊处理,这部分工作必须在控件外来完成。另一方面,相关资料称IE在iframe元素的回收方面存在着bug,在通常情况下应该将该元素的src属性值修改为”abort:blank”,并手工将其从DOM树上移除,然后把脚本中引用它的变量置空并调用CollectGarbage()就可以避免iframe不能正常回收所造成的内存泄露。
按照上述方法,在tab的close事件中添加了iframe的销毁代码,IE的内存泄露问题得以解决。
var frame = $('iframe');
frame[0].contentWindow.document.write('');//清空iframe的内容
frame[0].contentWindow.close();//避免iframe内存泄漏
frame.remove();//删除iframe
相关文章推荐
- (转)IE内存泄露,iframe内存泄露造成的原因和解决方案
- 安卓造成内存泄露的几个原因
- Java泄露及造成内存泄露的原因
- java造成内存泄露原因
- Android中使用Handler造成内存泄露的原因和解决方法
- 造成内存泄露的几种原因 C++
- Handler引发的内存泄露原因及解决方案
- android开发中单例造成的内存泄漏原因及解决方案
- 内存泄露原因及解决方案
- 内存泄露原因和解决方案
- android 内存泄露原因以及排查和解决方案
- 牛客网Java刷题知识点之内存溢出和内存泄漏的概念、区别、内存泄露产生原因、内存溢出产生原因、内存泄露解决方案、内存溢出解决方案
- java造成内存泄露原因
- java造成内存泄露原因
- 【Android性能优化】内存泄露和内存溢出(OOM)的引发原因及优化方案
- Android内存泄露原因
- Android中使用Handler造成内存泄露的分析和解决
- 关于强转为void*后造成的内存泄露
- Handler可能引起的内存泄露及解决方案-android
- 解决使用pthread_create函数造成的内存泄露