We are developing a big .NET Windows Forms application. We are facing a memory leak/usage problem in that despite we are disposing the forms.
The scenario is like:
- Our application is using 60 KB of memory with a list of records displaying in a grid.
- When the user clicks on a record it opens a form,
myform.showDialog
, show the details. The memory jumps from 60 KB to 105 MB.
- Now we close the form
myform
to get back to grid, and dispose that form and set it to null. Memory remains at 105 MB.
- Now if we again perform step 2, it would jump from 105 MB to 150 MB and so on.
How can we free up the memory when we close myForm
?
We have already tried GC.Collect()
, etc., but without any result.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…