JS-垃圾机制( 二 )

  • 延时器/定时器
原因:使用setInterval/setTimeout,使用完之后通常忘记清理解决办法:clearInterval/clearTimeout内存优化方案
  • 分代回收(Generation GC)
这个和 Java 回收策略思想是一致的 。目的是通过区分「临时」与「持久」对象;多回收「临时对象区」(young generation),少回收「持久对象区」(tenured generation),减少每次需遍历的对象,从而减少每次GC的耗时 。Chrome 浏览器所使用的 V8 引擎就是采用的分代回收策略 。

JS-垃圾机制

文章插图
分代回收示例图
  • 增量回收(Incremental GC)
这个方案的思想很简单,就是「每次处理一点,下次再处理一点,如此类推」 。这种方案,虽然耗时短,但中断较多,带来了上下文切换频繁的问题 。Firefox 浏览器所使用的 JavaScript 引擎就是采用的增量回收策略 。

JS-垃圾机制

文章插图
增量回收示例图
内存优化引用:https://juejin.im/entry/58650be8ac502e005ff7b1e3




推荐阅读