Javascript JQuery删除和内存泄漏

Javascript JQuery删除和内存泄漏,javascript,jquery,Javascript,Jquery,我正在做一个游戏,我看到了大量的内存消耗,我使用jquery animate,在动画完成后,我移除()元素,我的问题是,从dom树中移除一个元素后,该对象仍然存在于内存中?如果没有对该元素的引用,垃圾收集将在下次运行时清理它。您可以使用.remove,但不用担心垃圾收集。Javascript是一种垃圾收集语言。这意味着当没有代码保存对内存中的对象的任何引用并且(对于DOM对象)它不在DOM中时,内存中的对象将被释放。因此,当您从DOM中删除一个对象时,只要javascript的其他部分没有对该D

我正在做一个游戏,我看到了大量的内存消耗,我使用jquery animate,在动画完成后,我移除()元素,我的问题是,从dom树中移除一个元素后,该对象仍然存在于内存中?

如果没有对该元素的引用,垃圾收集将在下次运行时清理它。您可以使用
.remove
,但不用担心垃圾收集。

Javascript是一种垃圾收集语言。这意味着当没有代码保存对内存中的对象的任何引用并且(对于DOM对象)它不在DOM中时,内存中的对象将被释放。因此,当您从DOM中删除一个对象时,只要javascript的其他部分没有对该DOM对象的引用,当垃圾收集器有机会运行时,DOM对象将被清除,其内存将返回到可用内存池

请记住,当垃圾收集器释放内存时,它可能不会立即或永远返回到系统。它可以作为分配给浏览器的内存保留,但可供浏览器中的其他内存请求使用。因此,释放脚本中的内存并不一定会降低浏览器使用的总内存

如果反复执行相同的操作导致浏览器使用的总内存不断增加,则这只是内存泄漏。只有这样,您才能确保某些内存被“泄漏”永久消耗


垃圾收集有很多细微差别,尤其是对于旧版本的IE,但对于现代浏览器,您需要记住的主要是,如果您在自己的javascript数据结构中持有对对象的引用,它将不会被垃圾收集。如果您不持有对它的引用,并且它不在DOM中,它将被释放,其内存将被回收。

+1关于浏览器使用的总内存不会下降的一点很好