一.内存泄漏
程序运行需要内存,必须及时释放不在用到的内存,否则内存越来越高导致进程崩溃,没有及时释放的无用内存就叫内存泄漏。
二.垃圾回收机制
- 引用计数:语言引擎的‘引用表’保存了内存中所有资源的引用次数,如果一个资源的引用次数为0则表示此值不在被用到,可以进行内存释放;
- const arr = [1, 2, 3]
上面代码,数组[1,2,3]是一个值,会占用内存,变量arr表示对这个值的引用,所以引 用次数为1,添加代码 arr=null可以释放内存;
3.标记清除:当变量进入执行环境时标记为“进入环境”,不能被回收,当变量离开执行环境 时被标记为“离开环境”,可以被回收。
三.内存泄漏识别方法
- 连续五次垃圾回收之后,内存一次比一次大,就存在内存泄漏;
- 可以浏览器控制台查看