我在一個遊戲工作,並且我看到了很多內存消耗,即時使用jquery動畫,並且動畫完成後,我.remove()元素,我的問題是,刪除元素來自dom樹,該對象仍然存在於內存中?JQuery刪除和內存泄漏
3
A
回答
8
JavaScript是一種垃圾收集語言。這意味着當沒有代碼保存對它的引用時,內存中的對象將被釋放,並且(對於DOM對象)它不在DOM中。所以,當你從DOM中刪除一個對象時,只要你的javascript的其他部分沒有對該DOM對象的引用,那麼DOM對象將被清除,並且當垃圾收集器得到運行的機會。
請記住,當內存被垃圾收集器釋放時,它可能不會立即返回到系統。它可能保留爲分配給瀏覽器的內存,但可供瀏覽器內的其他內存請求使用。因此,釋放腳本中的內存不一定會使瀏覽器使用的內存總量減少。
如果一再重複執行相同的操作會導致瀏覽器使用的總內存不斷上升,那麼這隻會導致內存泄漏。只有這樣,你才能確定某些內存被「泄漏」永久消耗掉了。
關於垃圾收集有很多細微之處,特別是對於舊版本的IE,但對於現代瀏覽器,大多數情況下需要牢記的是,如果您在自己的JavaScript數據結構中持有對象的引用,它不會被垃圾收集。如果你沒有引用它,並且它不在DOM中,它將被釋放並且其內存被回收。
4
如果沒有對元素的引用,垃圾收集將在下次運行時清除它。你只需使用.remove
就好了,但不要擔心垃圾收集。
相關問題
- 1. 刪除[]和內存泄漏
- 2. 內存泄漏與jquery刪除()?
- 3. 內存泄漏 - 釋放和刪除
- 4. 內存泄漏與新的和刪除
- 5. C++內存泄漏新增和刪除
- 6. 刪除警告和內存泄漏
- 7. JQuery內存泄漏?
- 8. 刪除iframe會導致內存泄漏?
- 9. 內存泄漏刪除節點C++
- 10. 內存泄漏問題;刪除指針
- 11. iOS的 - 無法刪除內存泄漏
- 12. jQuery/Sizzle checkContext內存泄漏
- 13. JQuery關閉內存泄漏
- 14. 使用jQuery和內存泄漏
- 15. jQuery和內存泄漏在IE
- 16. jQuery內存泄漏模式和原因
- 17. 的jQuery 3.1.1內存泄漏和空
- 18. 內存泄漏 - Javascript/jQuery和canvas
- 19. 內存泄漏和jQuery插件
- 20. Jquery 1.7和IE 8內存泄漏
- 21. 使用刪除/刪除[]但仍有內存泄漏
- 22. 內存泄漏
- 23. 內存泄漏:
- 24. 內存泄漏
- 25. 內存泄漏
- 26. 內存泄漏
- 27. 內存泄漏
- 28. 內存泄漏
- 29. 內存泄漏
- 30. 內存泄漏
+1關於瀏覽器使用的總內存不會下降的好處 –