代码: 开始的内存: 大约半小时后
8 回复
第14行entity.a = entity.fun();
。
首先注意到entity的fun函数是没有返回值的,这样entity的值变成了undefined,那么接着在下次循环的时候还做++干啥,完全没有了意义。
其次,定时器的间隔太小了,垃圾回收的速度赶不上临时变量增长的速度。
@Acceptedlc v8的没有研究过,类比一下java吧,jvm的垃圾回收线程的执行优先级是很低的,所以当空闲时gc线程得到执行会触发垃圾回收,还有就是当内存分配紧张时也会触发垃圾回收,当然gc还有很多种机制。