作爲我的應用程序的一部分,我正在組合一組不會一次顯示的小Dom節點。我將它們存儲在一個內部數組中。用戶可以調用它們的顯示,在這種情況下,我將它們重新映射到用於顯示它們的div。這一切都很好。但是當它們全部換成新的時候,我想摧毀舊的(有效地釋放它們)。否則,隨着時間的推移,內存使用量可能呈指數增長。我如何強制瀏覽器js引擎執行此操作?只是將我的Dom節點數組中的每個項目設置爲null就足夠了?還有什麼我需要做的嗎?或者,也許我根本不必擔心這一點?釋放由JavaScript中未連接的DOM節點使用的內存
5
A
回答
5
如果您將每個項目設置爲空,它們將自動收集垃圾。
5
是的,將項目設置爲空應該沒問題......除了一些實現細節必須由Internet Explorer來處理:它對循環引用的處理是狡猾的。見http://msdn.microsoft.com/en-us/library/bb250448.aspx
循環引用,當相互引用Internet Explorer的COM基礎設施和任何腳本引擎之間計數的,對象可以泄漏內存
所以你有打破在某些情況下,循環引用。
相關問題
- 1. Javascript DOM:查找未連接的節點
- 2. 使用boost庫釋放共享內存中的節點內存
- 3. 釋放未使用的內存?
- 4. 刪除鏈接列表的最後一個節點後,內存未釋放
- 5. Javascript內存釋放
- 6. 使用AngularJS JavaScript連接節點JavaScript
- 7. MPMoviePlayerController:內存使用率高(未釋放)
- 8. Jedis連接未被釋放
- 9. 未釋放C數組中的內存
- 10. 未能釋放內存
- 11. 使用Hibernate實體管理器,但連接未關閉,內存不釋放
- 12. 釋放由cudamallocpitch分配的內存
- 13. 查詢後未釋放的MongoDB連接
- 14. 釋放連接池中的連接。
- 15. 如何從鏈接列表上的節點釋放內存分配的類
- 16. 使用PIL釋放內存
- 17. 使用後釋放內存
- 18. Mongodb未連接節點js
- 19. 數據表中未釋放內存
- 20. 釋放three.js中的內存
- 21. 釋放R中的內存
- 22. 釋放GridView中的內存
- 23. 如何在使用execvp後釋放由malloc創建的內存?
- 24. 獲取未連接到Neo4j中特定節點的節點
- 25. 釋放未使用的內存的SQL Server 2014的內存優化表
- 26. 使用ARC的iOS應用程序未釋放內存
- 27. 使用Javascript反向DOM節點訂單
- 28. 如何釋放MediaElement使用的內存
- 29. iPhone:圖像使用的內存未被釋放
- 30. Java:釋放未使用內存的命令行參數
太好了。這就是我所希望的。 – Karim 2009-02-08 18:32:18