Logo UGIdotNET

Discussione 'Memoria'

# Pubblicato il 26 lug 2004 16.59 - Rispondi
Manuel Bosio
Memoria
Come si fa dopo aver distrutto un qualunque oggetto (anche un form) a liberare la memoria?
Io ho un form padre e vari figli, se distruggo un figlio non mi viene liberata la memoria, se riduco a icona il padre e poi lo ripristino, la mem viene liberata (io controllo la mem con il task manager)
Come devo fare?
Grazie a Tutti
# Pubblicato il 26 lug 2004 17.31 - Rispondi
Alessandro Di Noia
Re: Memoria
> Come si fa dopo aver distrutto un qualunque oggetto (anche un form) a liberare
> la memoria?
> Io ho un form padre e vari figli, se distruggo un figlio non mi viene liberata
> la memoria, se riduco a icona il padre e poi lo ripristino, la mem viene
> liberata (io controllo la mem con il task manager)

.NET è un ambiente managed quindi, nn sei tu in prima persona a doveri occupare della gestione della memoria. Esiste un simpatico garbage collector che si occupa di ciò sulla base di algoritmi ottimizzati da MS. Ciò che devi assolutamente fare è richiamare sempre il metodo Dispose degli oggetti che lo espongono. Qualora l'oggetto fosse custom dovresti implementare tu il dispose in maniera opportuna. Se cerchi un po' nei thread vecchi sicuramente trovi parecchie discussioni in merito utili.

PS: per controllare la memoria allocata usa i performance counter, il task manager è assai impreciso.

HTH
AlexD

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185