我正在使用EmguCV,它是.NET的OpenCV包装器。我正在处理所有创建的对象,但我的应用程序仍在使用越来越多的内存(在发布配置中)。我已经使用.NET Memory Profiler调试了我的应用程序并得到了这个结果:
http://img532.imageshack.us/img532/2503/screenqv.png
所有对象实例计数都是振荡但GChandle实例计数器正在增加,直到我的机器无法使用。垃圾收集器不释放内存(我认为)。
我使用的是VS 2008专业版,Win7教授32位版本,都是最新版本,也是最新稳定版本的emguCV。
我可以发布一些应用代码,如果有帮助的话。
谢谢,对不起我的英语。 马丁
答案 0 :(得分:1)
请查看下面有关如何进行自动垃圾收集的链接。
http://www.emgu.com/wiki/index.php/Working_with_Images
我遇到了类似的问题,我开始使用上面链接中的不同指南来改进我的代码。
问候
Shivam
答案 1 :(得分: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();
}
}