Question

I am using General Interface in my web application and I have javascript classes and methods to create objects for my classes. I would like to clear the memory when the objects are not used. My question is how can I clear the object's memory.

I have tried with 'obj = null;' and 'delete obj;'. Both are not working as expected.

Is there way to clear the object and object memory in JavaScript or in General Interface.

-Sridhar

Was it helpful?

Solution

You can't. As long as every reference is really removed (e.g. setting to null as many have suggested), it's entirely up to the GC as to when it'll run and when it'll collect them.

OTHER TIPS

try to set to null.

var a = new className();
alert(a);

a = null;
alert(a);

You can use Self-Invoking Functions

Self-invoking functions are functions who execute immediately, and create their own closure. Take a look at this:

(function () {
    var dog = "German Shepherd";
    alert(dog);
})();
alert(dog); // Returns undefined

so the dog variable was only available within that context

EDIT
If memory leak is related to DOM, here written how to manage it. So, i tried to solve like that:

var obj = {};//your big js object
//do something with it

function clear() {
    var that = this;
    for (var i in that) {
        clear.call(that[i]);
        that[i] = null;
    }
}

clear.call(obj);//clear it's all properties
obj = null;
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top