Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [vb.net] chiusura form con form.dispose()
Forum - C# / VB.NET - [vb.net] chiusura form con form.dispose() - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
GoLDBeRG (Ex-Member)
Expert


Messaggi: 331
Iscritto: 19/12/2005

Segnala al moderatore
Postato alle 7:09
Martedì, 02/06/2009
si devi aiutare il GC a capire quando puo eliminare cose inutili dalla memoria, se non lo aiuti con quelle istruzioni lui sarà lento a capirlo e il programma dopo qualche giorno che sta aperto a lavorare puo occupare pure 220 mb di ram

PM Quote
Avatar
fabriziorocca (Normal User)
Guru


Messaggi: 1162
Iscritto: 22/03/2009

Segnala al moderatore
Postato alle 9:15
Martedì, 02/06/2009
questa non la sapevo !!
Per esempio un programma di cui l'exe persa 500kb, se lo tengo aperto qualche giorno, vado su taskmanager e analizzo lo spazio di ram che occupa il processo del mio programma, vedo che occupa un sacco di MB ?

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 10:09
Martedì, 02/06/2009
L'argomento e' complesso. Comincia a leggere questo articolo con ATTENZIONE

http://www.bluebytesoftware.com/blog/PermaLink.aspx?guid=8 ...


PM Quote
Avatar
fabriziorocca (Normal User)
Guru


Messaggi: 1162
Iscritto: 22/03/2009

Segnala al moderatore
Postato alle 10:28
Martedì, 02/06/2009
ok ... comunque la cosa è piuttosto interessante !

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:51
Martedì, 02/06/2009
Close, Dispose e Finalize non sono la stessa cosa. Penso che ci sia scritto nell'articolo postato da theprogrammer (comunque c'è un capitolo anche nella mia guida). Finalize è un distruttore che viene chiamato automaticamente dal garbage collector quando un oggetto viene distrutto implicitamente, e di solito è di ambito protected, quindi non accessibile al di fuori della classe. La versione "manuale" di Finalize è Dispose, il quale può essere direttamente invocato dall'utente per richiamare esplicitamente la distruzione di tutte le risorse associate all'oggetto. Dopo aver chiamato Dispose, l'oggetto non può più essere utilizzato, e l'unica cosa che si può fare è impostare il suo riferimento a Nothing.
Il metodo Close viene implementato da oggetti diversi in modi diversi. Nel caso del form, esso si limita a chiudere la finestra, ma non la distrugge. Al contrario, in alcune classi (come, ad esempio, negli stream), esso equivale a Dispose.

PM Quote
Avatar
GoLDBeRG (Ex-Member)
Expert


Messaggi: 331
Iscritto: 19/12/2005

Segnala al moderatore
Postato alle 13:02
Martedì, 02/06/2009
sono cmq tutti e tre indispensabili per un buon uso di memoria... non usandoli puoi risparmiare tempo e fatica ma... se il programma deve restare aperto per giorni o settimane come ad esempio un server chat o qualcosa di simile... inizia a pesare... anche 250 mb in tre giorni... quindi non avere paura di usarli (nel modo giusto logico)

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo