我正在对一个巨大的WPF应用程序进行维护。应用程序存在一个问题,它消耗大量内存并且消耗随着时间而增加。我在网上搜索了很多,但我没有找到最佳解决方案。我尝试了很多程序,他们只让我知道泄漏的类别,但没有人提供防止它的解决方案。
我对专家提出以下问题:
答案 0 :(得分:1)
您使用的任何软件都可以帮助您识别问题类别,不会使用解决方案来预防或解决问题。
好吧,要一次处理所有对象,您需要在该特定时间引用对象。 我认为这不切实际。
更好的解决方案是识别未正确处理的问题类和资源,然后,正如丹麦语所说,为他们实施 IDisposable interface
。然后,您可以在使用结束后明确处置对象。
此外,您可以考虑使用 'using'
语句来处理这些对象,因为这样可以减少您明确处理这些对象的痛苦,并且还可以及时处理
答案 1 :(得分:-2)
您需要检查对象需要内存的类的代码。然后,在这些类中实现IDisposable接口。接下来,确保为这些类创建对象的任何位置,它们在使用后处理。
简单但不正确,恕我直言,回答你的第一个问题将是使用GC类的静态方法。但请注意,GC会在所有.Net应用程序中生成,而不仅仅是您的应用程序。