JS垃圾回收机制和内存泄漏
内存泄漏
浏览器封装的V8引擎支持对JS进行解析,当程序运行(runtime)时,只要程序提出需要内存,例如声明赋值字符串、对象、数组等变量时;操作系统就必须给分配内存使用,对于持续运行的服务进程,变量不断增加,并且内存没有得到及时的释放,内存占有会越来越大,轻则影响系统性能,重则直接导致系统崩溃。 不再用到的内存,没有及时释放,就叫做内存泄漏。
有些语言(比如c语言)必须手动释放内存,程序员负责内存管理。
这很麻烦,所以大多数语言提供自动内存管理,减轻程序员的负担,这被称为垃圾回收机制。
内存泄漏的识别方法
浏览器
1、使用快捷键 F12
或者 Ctrl+Shift+J
打开 Chrome 浏览器的「开发者工具」。
2、选择 Performance
(老版为Timeline) 选项卡,在 Capture
选项中,只勾选 Memory
。
3、设置完成后,点击最左边的 Record
按钮,然后就可以访问网页了。
4、打开一个网站,例如: