We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
close icon

GridControl memory leaks

There seem to be extremely obvious and unavoidable memory leaks with any GridControlBase(Imp?) derived control. Create a new WinForms app. Add a new (second) form to the project. Put a GridControl on it. Now put a button on the default startup form. Put code in the button Click handler to simply create the second form and show it as a dialog. With this dead simple scenario, watch the memory usage. When the second form with the grid opens, memory usage takes a huge leap. Now, run your mouse over the cells in the grid. You''ll see another increase with each cell you pass over. Now close the form. The memory usage doesn''t change at all! Even calling Dispose, GC.Collect, etc. makes no difference. It really doesn''t get any more straightforward. What does SyncFusion have to say about this? We''re going to run our app on a Citrix server, and every instance is going to continue to eat memory endlessly as grids are shown and destroyed, until the app is closed, of course. Tom

1 Reply

AD Administrator Syncfusion Team May 12, 2005 01:56 AM UTC

If you run some memory profiling tool, do is show any undisposed Syncfusion objects? Here is the scenario you described using a Windows Forms DataGrid instead of a GridControl. http://www.syncfusion.com/Support/user/uploads/WindowsApplication5_ce957a69.zip You see exactly the same behavior. When the 2nd form is opened, the memmory bumps up 5M. When the form is closed, the %M is not immediately released. As another test, try openoing and closing the 2nd form 50 times. In both the attached sample, and in the sample with a GridControl, after 2 or three opens and closes, the memory load stabalizes and does not change. If it were a memory leak, you would expect it to grow linearly, wouldn''t you? And it does not. I could be wrong, but what I think what you are seeing is just the dynamic nature of .NEt FrameWork memory management. Even if a framework object is disposed and the memory no longer in use by the object, the system does not reclaim the memory until it is needed.

Live Chat Icon For mobile
Up arrow icon