Question Interface Graphique

Plus d'informations
il y a 15 ans 8 mois #7246 par Arthur
Réponse de Arthur sur le sujet Re:Interface Graphique
Si je dit pas de conneries Powershell (garbage collector) vide la mémoire automatiquement dans la plupart des cas
Sinon un tutoriel de Laurent en parle.(Je sait plus lequel)

sinon :

[GC]::Collect()


msdn.microsoft.com/fr-fr/library/system....lect%28VS.80%29.aspx

Message édité par: bilbao, à: 24/06/10 10:13

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 8 mois #7248 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Interface Graphique
Gulrick écrit:

quand on ferme le script comment fait on pour que la mémoire soit vidée ?

On libére la mémoire par un appel à la méthode dispose de la winform qu'on souhaite libérer, à son tour, en interne, elle libére tous les objets qu'elle contient.
Effectivement comme le dit bilbao l'appel à GC tente de recycler la mémoire.
Mais on fait rarement appel au GC directement, on le laisse faire, sauf dans certains cas par exemple pour les objets COM , où là on force leurs libération et leurs finalisation par l'appel à [GC]::Collect().
Mais ce n'est pas évident de répondre à cette question, puisqu'il faut expliquer un mécanisme interne au Framework dotnet.
bilbao écrit:

Si je dit pas de conneries Powershell (garbage collector) vide la mémoire automatiquement dans la plupart des cas

Oui tu peux dire ça, quoiqu'en français, et dans ce contexte, on utilise plutot le verbe libérer qui renvoi à une notion préalable d'attachement/de lien.
Encore de la sémantique ;-)
En principe les appels à Dispose suivi d'un appel au Garbage Collector libére les objets, à la lecture de l'article suivant vous verrez que ce n'est pas si automatique ni évident.
Détecter et éviter les fuites de mémoire et de ressources dans les applications .NET .
Gulrick écrit:

Ou même quand je switch entre les fenêtres (passant par l'argument \"visible : False/True\"

J'utiliserais plutot la méthode Hide, même si le résultat semble identique.
Gulrick écrit:

(ou alors j'ai codé avec les pieds ! :P

Sans vouloir t'offenser, avant de mettre en cause le framework, c'est fort probable que ton code contienne une erreur :-)

Voir aussi :
Tout ce que vous avez toujours voulu savoir sur les Ramasses-Miettes .NET .

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.081 secondes
Propulsé par Kunena