sle*_*man 13
如果你想要阻止挂起的setTimeout发生,只需要调用clearTimeout.发生setTimeout后,timer id不再有效,但幸运的是调用带有无效计时器id的clearTimeout是无害的.
如果您发现内存泄漏,则问题出在其他地方.
有时setTimeout会导致内存泄漏...请参阅以下文章:setTimeout内存泄漏
但请注意,IEx有一个垃圾收集器的微妙之处; 我认为如果你在Javascript闭包中引用一个DOM变量,那么收集机制就会混淆,并且在请求结束时不会被删除:最终这会成为内存泄漏.我认为这是因为DOM变量和内部JS变量被两个不同的收集器收集,并且它们没有正确地沟通不再使用的东西.
我想你可以通过将变量设置为null来解决这个问题:
setTimeout(function(){
myFunction(parameter);
parameter = null
}, myTimeout);
Run Code Online (Sandbox Code Playgroud)
这显式地设置了垃圾收集.
| 归档时间: |
|
| 查看次数: |
7804 次 |
| 最近记录: |