Ho appena scoperto che quando viene utilizzata la funzione remove(), gli elementi corrispondenti non vengono rimossi dall'oggetto jQuery, ma solo dal DOM.
Secondo il remove() documentation:
rimuove tutti gli elementi corrispondenti dalla DOM. Questo NON li rimuove da l'oggetto jQuery, consentendo di utilizzare ulteriormente gli elementi corrispondenti .
Sicuramente se un'app Web continua ad aggiungere e rimuovere elementi dal dom, questo continuerà a consumare sempre più memoria? Qualcuno può confermare se questo è il caso? Cosa si può fare per evitare questo?
Sì. Il DOM viene modificato ma l'oggetto jQuery non lo è. Se hai assegnato l'oggetto jQuery a una variabile, il garbage collector dovrebbe avere uno scatto su quella variabile quando non rientra nell'ambito. – Nosredna