【发布时间】:2013-12-15 16:52:47
【问题描述】:
我的代码基本是这样的:
在此方法中每 100 毫秒从网络摄像头收集帧。
MutexControl.Image.WaitOne();
image = null;
image = (Bitmap)eventArgs.Frame.Clone();
Bitmap Myimage = new Bitmap(Form1.image);
MutexControl.Image.ReleaseMutex();
图像是我的静态参考。我在程序的其他部分使用它。这是否会使内存管理出现任何问题。 Garbage Collector 会收集我的垃圾图像吗?
【问题讨论】:
-
在将其设置为其他值之前,您无需将其设置为 null。
-
@John 旧的图像对象会发生什么?垃圾收集器会处理它吗?
-
是的,它会处理得很好。十多年来。变量无关紧要 - 只有对象才重要。
-
它最终会收集它们。通常不够快,无法阻止程序的内存使用量过大。处理位图是一项非常艰巨的要求。
标签: c# memory-management garbage-collection static-members object-lifetime