一次处理所有未处置的物体

时间:2012-09-05 05:54:25

标签: c# wpf memory-leaks

我正在对一个巨大的WPF应用程序进行维护。应用程序存在一个问题,它消耗大量内存并且消耗随着时间而增加。我在网上搜索了很多,但我没有找到最佳解决方案。我尝试了很多程序,他们只让我知道泄漏的类别,但没有人提供防止它的解决方案。

我对专家提出以下问题:

  1. 我们可以一次处理所有UnDisposed对象吗?
  2. 解决此问题的最佳方法是什么?。

2 个答案:

答案 0 :(得分:1)

您使用的任何软件都可以帮助您识别问题类别,不会使用解决方案来预防或解决问题。

好吧,要一次处理所有对象,您需要在该特定时间引用对象。 我认为这不切实际。

更好的解决方案是识别未正确处理的问题类和资源,然后,正如丹麦语所说,为他们实施 IDisposable interface 。然后,您可以在使用结束后明确处置对象。

此外,您可以考虑使用 'using' 语句来处理这些对象,因为这样可以减少您明确处理这些对象的痛苦,并且还可以及时处理

您可以详细了解如何使用using statement herehere

答案 1 :(得分:-2)

您需要检查对象需要内存的类的代码。然后,在这些类中实现IDisposable接口。接下来,确保为这些类创建对象的任何位置,它们在使用后处理。

简单但不正确,恕我直言,回答你的第一个问题将是使用GC类的静态方法。但请注意,GC会在所有.Net应用程序中生成,而不仅仅是您的应用程序。