2011-02-25 12 views
5

Sto lavorando a un'applicazione AJAX con molti Javascript. Tutte le pagine vengono caricate tramite AJAX.
In una determinata pagina ho una griglia che è compilata in Javascript. Ora quando esco da quella pagina voglio distruggere quella griglia. Chiamo jQuery.remove() ma questo elimina solo l'oggetto dal DOM.
La mia domanda è: come posso cancellare questo oggetto dalla memoria? Perché esiste ancora quando mi allontano dalla pagina.Elimina oggetto dalla memoria in javascript

Molto apprezzato!

+2

Come fai a sapere che questo oggetto esiste ancora in memoria dopo essere uscito dalla pagina? –

+0

Memorizza l'identificativo della griglia nella variabile? Se è così, rendi gridVar = null; – CoolEsh

+1

È completamente impostato per il browser ... Suppongo si presuma che esista ancora in memoria perché l'utilizzo della memoria di processo del browser non diminuisce? –

risposta

6

Se si eliminano tutti i riferimenti alla griglia (ad esempio, si assegna null alla variabile), il garbage collector cancellerà l'oggetto dalla memoria.

+1

Funzionerebbe se è stato generato un evento di scaricamento effettivo, ma poiché questa è un'app ajax completa, ciò non sta accadendo. – Gerard

+0

Un'opzione potrebbe essere quella di chiamare un evento di scaricamento ogni volta che si naviga attraverso l'applicazione ajax. Questa non è una buona soluzione però .. – Rob

+0

forse dare un'occhiata a http://stackoverflow.com/q/864516/633281 – krtek

1

inserisci la griglia in un div o qualsiasi cosa desideri. quando si desidera eliminare esso uso

che cancellarlo.

Problemi correlati