This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
Hi, We make a lot of selections in the course of running our application, and these selections can happen rapidly. We also make use of several, complicated, custom editors. As I understand it, when the selected object changes, the property grid ditches its current set of controls, and - through reflection - generates a new set of controls for the same object, even if the properties are the same. This causes two problems:
This memory leak does not seem to be caused by the grid: we don't see controls being leaked. What we do see is lots of large byte arrays owned by resource dictionaries - i.e., things owned by the controls do not seem to be cleaned up. Have you seen this problem before? More data points:
Replacing the data grid with a set of grids in expanders fixed the leak and made the app extremely responsive. But this required a lot of ugly visibility binding. Our company would really like to use this data grid (since a general solution requires so much less maintenance), but these two problems are forcing us away from the product. Any suggestions you might have would be greatly appreciated. Thanks. |
|
|
We've seen memory leaks around event hookups, but we believe most of these are fixed in current nightly builds. We *haven't* seen leakage of byte arrays owned by resource dictionaries and would be interested to learn more. I am not sure whether dynamic resources would have an impact here: I don't *think* so but I could be wrong. If the resource dictionaries are still referenced then obviously this will keep the resources in memory: are you able to trace what objects are holding references to the dictionaries or resources? Also things in resource dictionaries are generally created once and then re-used: if you're seeing repeated instantiations of the same resource then something seems amiss. Can you provide us with a minimal repro case? |
|