Visual studio 2010 从应用程序中获胜变得缓慢

Visual studio 2010 从应用程序中获胜变得缓慢,visual-studio-2010,memory-leaks,performance,Visual Studio 2010,Memory Leaks,Performance,我已经使用VisualStudio.NET构建了一个应用程序,它运行良好。在应用程序使用超过2-3小时后,它开始变慢,我不知道为什么。我使用了GC.Collect()以获得内存泄漏问题,但现在我有了一个新的问题。 有人知道解决方案吗?试试内存分析器,比如ANTS内存分析器。首先你需要了解发生了什么,然后你可以考虑如何修复它 如果确实存在内存泄漏,只需调用GC.Collect()将毫无用处。垃圾收集器只能收集那些不再从其他对象引用的对象 如果没有正确清理对象,GC将不会收集任何内容 处理内存消耗时

我已经使用VisualStudio.NET构建了一个应用程序,它运行良好。在应用程序使用超过2-3小时后,它开始变慢,我不知道为什么。我使用了
GC.Collect()以获得内存泄漏问题,但现在我有了一个新的问题。

有人知道解决方案吗?

试试内存分析器,比如ANTS内存分析器。首先你需要了解发生了什么,然后你可以考虑如何修复它


如果确实存在内存泄漏,只需调用
GC.Collect()
将毫无用处。垃圾收集器只能收集那些不再从其他对象引用的对象

如果没有正确清理对象,GC将不会收集任何内容

处理内存消耗时,应强烈考虑以下模式:

  • 弱事件() 如果不取消订阅事件,订阅对象将永远不会释放到垃圾收集中
    GC.Collect()

  • 实现
    IDisposable
    接口() (我强烈建议阅读本说明,因为我已经看到了许多错误的实现。) 您应该始终释放您使用的资源。对提供它的每个对象调用
    Dispose()

  • 这同样适用于流。始终对提供此功能的每个对象调用
    Close()

  • 提出第2点。三,。使用
  • 块可以更轻松地使用
    。()
    一旦这些代码块超出范围,它们就会自动调用给定对象上相应的
    Dispose()
    Close()
    方法。这与使用
    try相同,但更方便。。。最后
    组合


    如果没有更多的细节和/或代码,您的问题可能太广泛而无法回答。未知因素太多,;可能不会有一个简单而通用的解决方案。因为我在调试中进行了部署,所以调试和发布有很大区别吗?在发布模式下构建安装程序是否更快?一般来说,发布模式下的应用程序将略快于调试模式,因为在调试模式下,“幕后”有很多新奇的东西,当部署为发布模式时不会运行。但对于垃圾收集器来说,这不会有太大影响。我认为这是错误的方向。