在我公司的企业解决方案中,我正在尽可能多地清理和清理内存泄漏。
我们有一个 BaseCaptureForm,它被许多其他表单(例如 RecommendationCaptureForm)继承。在整个系统中(例如),此 RecommendationCaptureForm 被称为模态(ShowDialog())。现在据我所知,当表单以模态方式打开时,它们应该包含在 using 语句中,或者在完成后处理掉。
BaseCaptureForm 中有一个从未命中的 dispose 方法。我放入了一个终结器,它也从未被击中。ANTS Memory Profiler 显示所有这些形式都保留在内存中。
有没有人对我如何处理这些捕获表单(它们不会长时间打开)以停止泄漏内存有任何建议?整个系统中有数百万次 ShowDialog 调用,我想知道是否还有其他人遇到过这个问题?
编辑 澄清一下,我可以在 BaseCaptureForm 中做些什么来在关闭后自动处理自己吗?我无法通过所有 ShowDialog() 调用来处理它们。在表单的 OnClosed 事件中调用 dispose 方法会导致令人讨厌的闪烁。