浏览器 - 内存回收、泄漏
一、内存泄漏
浏览器存在的内存泄漏有这几种:
1、全局变量引起的内存泄漏
2、闭包中的变量未被释放引起的内存泄漏
3、dom清空或删除时,事件未清除导致的内存泄漏
二、内存的回收
1、回收机制
回收机制有两种:
* 标记清除
当一个变量被生命,那么就会将这个变量标记成“进入环境”,当变量标记成“进入环境”那么永远不能释放进入环境的变量所占用的内存。当变量离开环境之后,则会标记为“离开环境”
* 引用计数
按照引用次数,引用次数为0时,则可以回收。声明一个变量并将一个引用类型的值复制给这个变量,这个引用类型的引用次数 +1,同一个值又被赋值给另一个变量则引用次数再+1,如果其中变量被赋其他的值,那么这个引用则 -1。