var Obj = function(){}; var X = new Obj();
如何清除Javascript中的內存?
將X = null
正確清晰的記憶?
這也是等同的嗎?
var Obj = function(){};
var X = {};
X.obj = new Obj();
delete(X.obj);
編輯 這似乎是,雖然刪除X.obj不會立即清晰的記憶,這將有助於垃圾收集。如果我不刪除X.obj,那麼仍然會有一個指向對象的指針,因此GC可能無法清除它。
雖然我正在採摘@ delnan的答案,如果您正在閱讀本文,您應該確定也可以閱讀Benubird的文章。
我也注意到我不小心寫了刪除(X)本來而不是刪除(X.obj) - 抱歉。
你應該解釋爲什麼你有興趣在「清除記憶」。它是爲了減少內存使用量嗎?或爲了安全?或者其他原因? –
爲了減少RAM使用/確保GC命中它 –
我喜歡這個問題。不幸的是,與大多數內存管理環境一樣,最好的方法是讓GC完成它的工作。哦,看着參考。 –