我们正在开发使用Prism 4的WPF应用程序,并且由于资源未被释放而正在经历严重的内存泄漏。我们使用ANTS Memory Profiler来检测哪些类阻止了垃圾收集器释放内存,但我们对这个工具非常陌生,所以我们对其输出的理解是有限的。无法使用ANTS RedGate Memory Profiler解决内存泄漏
我们的测试案例在于打开一个窗口,让您从列表中选择一个插件。该窗口托管一个Wizard控件,该控件包含一个标题,一组按钮和一个显示活动WizardPage(即UserControl)的主区域。通过选择插件并单击下一步按钮,更多的WizardPage控件在向导区域中注册并使用RegionAdapter添加到Wizard.Pages集合中。用户可以通过点击Next/Previous按钮来浏览页面。 如果我们打开向导窗口,只需单击取消按钮,则会按预期方式调用向导控件终结器。但是,如果我们在单击“取消”按钮之前打开向导窗口并展开插件组合框,则永远不会调用向导控件终结器。这里是Instance分类程序为向导的蚂蚁内存分析器截图:
我们尝试没有成功,几乎一切,可能有人帮助我们理解这是怎么回事呢?
预先感谢您。
而不是张贴截图的图像,如何张贴实际的消息?我根本看不懂。 – Joe
@Joe:请在新标签中打开图片(查看图片,在另一个标签中打开图片或类似内容)。此时,您将可以缩放并查看实际大小的图像。 –
你不能关闭你的ImportWizardWindow吗?这看起来像是你拥有的唯一真正的类。配置窗口,你应该没问题。但从截图中的数字来看,无处不在1,所以这可能不是真正的问题,蚂蚁的分析是虚假的。 –