IE,firefox内存溢出原因与解决方法
来源:互联网 发布:便签的元数据已损坏 编辑:程序博客网 时间:2024/06/05 11:37
JavaScript 中的内存泄漏
JavaScript 是一种垃圾收集式语言,这就是说,内存是根据对象的创建分配给该对象的,并会在没有对该对象的引用时由浏览器收回。JavaScript 的垃圾收集机制本身并没有问题,但浏览器在为 DOM 对象分配和恢复内存的方式上却有些出入。
Internet Explorer 和 Mozilla Firefox 均使用引用计数来为 DOM 对象处理内存。在引用计数系统,每个所引用的对象都会保留一个计数,以获悉有多少对象正在引用它。如果计数为零,该对象就会被销毁,其占用的内存也会返回给堆。虽然这种解决方案总的来说还算有效,但在循环引用方面却存在一些盲点。
原因
1)循环引用导致了内存泄漏
2)由外部函数调用引起的内存泄漏
3)闭包引起的内存泄漏
4)由事件处理引起的内存泄漏模式
解决方法
1)打破循环引用
2)添加另一个闭包
3)避免闭包自身
4)考虑用CollectGarbage()
检测软件
sIEve: 他是基于ie的内存泄露检测工具,需要下载运行,http://home.wanadoo.nl/jsrosman/
Leak Monitor: 他是基于firefox的内存泄露检测工具,https://addons.mozilla.org/firefox/2490/
个人建议
内存回收机制本身有问题,所以开发人员开发的时候尽量减少内存溢出。不要盲目的追求完美!
来源网址:http://blog.csdn.net/spring21st/article/details/5658309
阅读全文
0 0
- IE,firefox内存溢出原因与解决方法
- IE,firefox内存溢出原因与解决方法
- IE,firefox内存溢出原因与解决方法
- 内存溢出的原因和解决方法
- tomcat内存溢出原因分析与解决
- android 内存溢出原因与解决办法
- tomcat内存溢出原因分析与解决
- IE错误原因分析与解决方法
- java 内存溢出 栈溢出的原因与排查方法
- java 内存溢出 栈溢出的原因与排查方法
- java 内存溢出 栈溢出的原因与排查方法
- java内存溢出 栈溢出的原因与排查方法
- Firefox 内存占用大的原因和解决方法
- 常见Java内存溢出与解决方法详解
- tomcat内存溢出原因
- 堆内存溢出原因
- tomcat内存溢出原因分析与解决以及java内存溢出、栈溢出的原因与排查方法
- 常用IE与Firefox的CSS兼容差异及解决方法
- Centos 查看硬盘空间
- Java创建线程的三种方式及其对比
- 常量和引用
- 如何在ubuntu中安装cs6
- [USACO16DEC]Team Building团队建设
- IE,firefox内存溢出原因与解决方法
- 取反运算
- java文件传输基础:DataOutputStream类和DataInputStream类
- mysql 存储引擎选择
- 【java】内部类学习
- Java与数据结构(一) 顺序表
- HttpClient中post请求http、https示例
- codevs 3336 电话网络 SPFA 解题报告
- Mac 本地安装 wordpress