内存泄漏,求大神解释
代码: 开始的内存: 大约半小时后
8 回复
我觉得是 entity.a = entity.fun();泄漏的。 但是不知道为什么,求各位大神解释
1毫秒,我也是醉了。
@HuarenYu 时间长的话要等多久啊 自豪地采用 CNodeJS ionic
@Acceptedlc v8的垃圾回收有一定的触发机制,并不是实时回收。
@HuarenYu 大神,求v8,gc触发条件文档 自豪地采用 CNodeJS ionic
第14行entity.a = entity.fun();
。
首先注意到entity的fun函数是没有返回值的,这样entity的值变成了undefined,那么接着在下次循环的时候还做++干啥,完全没有了意义。
其次,定时器的间隔太小了,垃圾回收的速度赶不上临时变量增长的速度。
@yunnysunny 谢啦 自豪地采用 CNodeJS ionic
@Acceptedlc v8的没有研究过,类比一下java吧,jvm的垃圾回收线程的执行优先级是很低的,所以当空闲时gc线程得到执行会触发垃圾回收,还有就是当内存分配紧张时也会触发垃圾回收,当然gc还有很多种机制。