Liberaton d'espace mémoire [Résolu]

Athalus 131 Messages postés jeudi 17 juin 2004Date d'inscription 7 juillet 2005 Dernière intervention - 6 oct. 2004 à 14:12 - Dernière réponse : Athalus 131 Messages postés jeudi 17 juin 2004Date d'inscription 7 juillet 2005 Dernière intervention
- 7 oct. 2004 à 16:45
J'ai une winform dans laquelle j'utilise un tableau de tableau et lorsque je ferme cette form l'espace utilisé en memoire par les tableaux ne se libere pas. quelqu'un aurait il une idée?
Afficher la suite 

Votre réponse

16 réponses

Meilleure réponse
Arthenius 1183 Messages postés mercredi 21 janvier 2004Date d'inscription 6 septembre 2011 Dernière intervention - 7 oct. 2004 à 11:59
3
Merci
en théorie si tu passe tes tableaux = Null
le garbage collector devrait libérer la mémoire....

en théorie...

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."

Merci Arthenius 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de Arthenius
Meilleure réponse
Athalus 131 Messages postés jeudi 17 juin 2004Date d'inscription 7 juillet 2005 Dernière intervention - 7 oct. 2004 à 16:37
3
Merci
Avec la mise à "null" de tous mes tableaux plus le forcage du garbage colector j'arrive à liberer une bonne partie de l'espace mémoire utilisé c'est déjà ca.

Merci à tous pour vos réponses

Merci Athalus 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de Athalus
TheSaib 2369 Messages postés mardi 17 avril 2001Date d'inscription 26 décembre 2007 Dernière intervention - 7 oct. 2004 à 13:29
1
Merci
System.GC.Collect()

ca force le Garbage collector a faire son boulot.

::|The S@ib|::
MVP C#.NET
Commenter la réponse de TheSaib
guigfs 34 Messages postés jeudi 13 mars 2003Date d'inscription 30 mars 2006 Dernière intervention - 6 oct. 2004 à 17:37
0
Merci
Salut,
Sur l'événement Leave de ton formulaire essai ceci:
monTableau1.Dispose()
monTableau2.Dispose()
Commenter la réponse de guigfs
Athalus 131 Messages postés jeudi 17 juin 2004Date d'inscription 7 juillet 2005 Dernière intervention - 6 oct. 2004 à 17:55
0
Merci
Bonjour,
Et bien en fait je n'est pas acces à cette methode :/
Voici ma déclaration de tableau :

private System.Drawing.PointF[][] tTabTab = new PointF[14][];

ceci est déclaré dans ma winform nomée Graphique.

j'ai bien essayé tTabTab = null mais c'est pareil.
Et j'aussi testé ca inséré dans : protected override void Dispose( bool disposing )

for (int i = 0; i < tTabTab.Length; i++)
{
tTabTab[i] = null;
}
tTabTab =null;

mais rien ne marche.

C'est une winform ( Graphique ) que j'appelle d'une autre winform ( Synthese ), j'ai aussi essayé de faire Graphique.Dispose() à parti de la winform ou je la declare mais c'est pareil.
je sais pas si c'est tres clair ...

merci quand meme
Commenter la réponse de Athalus
guigfs 34 Messages postés jeudi 13 mars 2003Date d'inscription 30 mars 2006 Dernière intervention - 6 oct. 2004 à 18:04
0
Merci
Le fait de mettre à nul tout tes éléments revient a vider des cases mais pas à supprimer ces cases.
Or pour vider la mémoire, il faut supprimer ces cases et la solution est normalement d'appeler le destructeur de l'objet (ici tTabTab) à l'aide de la méthode normalement de la methode Dispose() mais je regarde autre chose
Commenter la réponse de guigfs
guigfs 34 Messages postés jeudi 13 mars 2003Date d'inscription 30 mars 2006 Dernière intervention - 6 oct. 2004 à 18:05
0
Merci
Je viens de remarquer que tu as oublié les parenthèses à la fin de ta ligne :
private System.Drawing.PointF[][] tTabTab = new PointF[14][]();

regarde si cela ne fais rien
Commenter la réponse de guigfs
Athalus 131 Messages postés jeudi 17 juin 2004Date d'inscription 7 juillet 2005 Dernière intervention - 6 oct. 2004 à 18:08
0
Merci
et bien ca me fait une erreur : une methode est attendue
Commenter la réponse de Athalus
SharpMao 1025 Messages postés mardi 4 février 2003Date d'inscription 7 juin 2010 Dernière intervention - 7 oct. 2004 à 07:38
0
Merci
Hello,
quelle méthode utilises-tu pour affirmer que c'est l'espace mémoire de ces tableaux qui n'est pas libéré?
Amicalement, SharpMao
Commenter la réponse de SharpMao
Athalus 131 Messages postés jeudi 17 juin 2004Date d'inscription 7 juillet 2005 Dernière intervention - 7 oct. 2004 à 08:59
0
Merci
Et bien je regarde l'espace mémoire utilisé grace au gestionnaire de taches windows. Et j'ai essayé d'afficher ma form sans les tableaux et la pas de probleme. C'est des tableaux assez gros en fonction de divers parametre rentré ca va de quelques Mo à plusiseurs centaines...
Commenter la réponse de Athalus
Athalus 131 Messages postés jeudi 17 juin 2004Date d'inscription 7 juillet 2005 Dernière intervention - 7 oct. 2004 à 12:14
0
Merci
Oui comme tu dis en théorie ;)
Y'a t'il un moyen de forcer le garbage collector à s'executer, j'ai vu que vous parliez d'une "classe GC" j'ai fouillé un peu mais j'ai pas trouvé comment l'utilisé un using peut etre?
Commenter la réponse de Athalus
Arthenius 1183 Messages postés mercredi 21 janvier 2004Date d'inscription 6 septembre 2011 Dernière intervention - 7 oct. 2004 à 12:24
0
Merci
non le Garbage Collector (GC) s'execute tout seul comme un grand quand tu fais un Objet.Dispose();

Tu fais un dispose de ta form...???

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
Athalus 131 Messages postés jeudi 17 juin 2004Date d'inscription 7 juillet 2005 Dernière intervention - 7 oct. 2004 à 13:29
0
Merci
Oui j'ai essayé le dispose de ma form ( ajout d'un bouton et Object.Dispose(); dans l'evenement ) mais ca change rien et si je ne me trompe pas quand je quitte ma form en clickant sur la croix le dispose est appellé
Commenter la réponse de Athalus
Athalus 131 Messages postés jeudi 17 juin 2004Date d'inscription 7 juillet 2005 Dernière intervention - 7 oct. 2004 à 13:54
0
Merci
Et bien ca me permet juste de recupérer quelques Mo mais rien de significatif :(
Commenter la réponse de Athalus
TheSaib 2369 Messages postés mardi 17 avril 2001Date d'inscription 26 décembre 2007 Dernière intervention - 7 oct. 2004 à 16:39
0
Merci
Valide les réponses

::|The S@ib|::
MVP C#.NET
Commenter la réponse de TheSaib
Athalus 131 Messages postés jeudi 17 juin 2004Date d'inscription 7 juillet 2005 Dernière intervention - 7 oct. 2004 à 16:45
0
Merci
Chef OUI Chef ;)
Commenter la réponse de Athalus

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.