Bonjour!

J'ai un gros problème de mémoire dans une application développé sous VB.NET 2008

Par exemple, ma fenêtre principale s'ouvre, après la fenêtre d'identification l'application prend 36mo. Jusque la je trouve déjà que c'est pas mal, mais ça me dérange pas.

J'ouvre un module, une seconde fenêtre à partir de la première

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
dim frm as new MaForm
frm.showdialog
frm.dispose
Dans cette fenêtre, il y à différent objets dont un DataSet fortement typé et quelque TableAdapteurs qui chargent des tables du DataSet dans le FormLoad

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Me.MonTableAdapter.Fill(Me.DataSet.MaTable)
L'application monte à 84mo. pour le chargement de 40000 occurrences.

Le problème est que lorsque je quitte la fenêtre, l'application conserve 84mo. et si j'ouvre la fenêtre de nouveau je suis rendu à 124mo. et ça continue!

Comment libérer cette mémoire !?

J'ai essayer de mettre dans le formClosing des trucs du genre, mais ça ne libère aucune mémoire... Jusqu'au moment ou j'obtien un System.OutOfMemory exception.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
MonTableAdapter.Dispose()
MonTableAdapter = Nothing
DataSet.MaTable.Dispose()
DataSet.Dispose()
DataSet = Nothing
Merci!