2017-08-07 74 views
-1

我目前正在動態添加圖片到div,因爲我正在可視化數據。因此,我每3秒就會移除一次圖像。我目前正在調用removeChild,但它不會從內存中刪除它的內容。有沒有辦法清除一些內存?是否可以removeChild並從內存中刪除它的內容?

下面是一些示例代碼:https://jsfiddle.net/eybb9rxc/2/

var rightImages = document.getElementById('rightImages'); 

setInterval(function() { 
    rightImages.removeChild(rightImages.childNodes[0]); 
}, 3000); 

此外,childNode還具有在它的元件。我需要循環並調用其中的每個元素removeChild?或者一次調用就足夠了?

+0

這在[documentation](https://developer.mozilla.org/en-US/docs/Web/API/Node/removeChild)中有所解釋,它指出沒有任何引用的節點被刪除'removeChild'應該在短時間內被GC刪除。 – adeneo

回答

0

只要沒有其他對該對象的有效引用,將該元素設置爲null就會爲垃圾回收器啓用它。

+0

我這麼認爲。不知道是否有其他方式比垃圾收集器。謝謝! – Jimmy

0

根據this任何被刪除的項目沒有剩餘的引用將被垃圾收集器刪除。我認爲設置它null就足夠了。請檢查「引用計數垃圾回收」部分。

相關問題