7

我正在使用 EmguCV,它是 .NET 的 OpenCV 包装器。我正在处理所有创建的对象,但我的应用程序仍在使用越来越多的内存(也在发布配置中)。我已经使用 .NET 内存分析器调试了我的应用程序并得到了这个结果:

http://img532.imageshack.us/img532/2503/screenqv.png

所有对象实例计数都在振荡,但 GChandle 实例计数正在增加,直到我的机器无法使用。垃圾收集器不会释放内存(我认为)。

我正在使用 VS 2008 专业版,Win7 prof 32 位,都是最新的,并且是 emguCV 的最后一个稳定版本。

如果有帮助,我可以发布一些应用程序代码。

谢谢和对不起我的英语。马丁

4

2 回答 2

1

查看下面的链接,了解如何进行自动垃圾收集。
http://www.emgu.com/wiki/index.php/Working_with_Images
我遇到了类似的问题,我开始使用上面链接上的不同指南改进我的代码。
问候
希瓦姆

于 2011-02-21T10:38:28.087 回答
0
public static class IImageExtensions
{
    // http://stackoverflow.com/questions/20825497/difference-between-using-and-dispose-call-in-c-sharp 
    public static void FreeMem(this IImage image)
    {
        using (image)
        {
            using (image.Bitmap)
            {

            }
        }
        //image.Bitmap.Dispose();
        //image.Dispose();
    }
}
于 2014-07-23T15:11:52.843 回答