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完成它的工作。哦,看着参考。 –