【发布时间】:2012-02-09 06:35:41
【问题描述】:
我正在处理图像处理项目,在我的应用程序中,我正在处理来自文件夹的图像(我在 while 循环中处理图像),文件夹包含 1000 多个图像。我正在使用垃圾收集(GC.每 4 个图像计数收集())。处理完1000张图片我得到OutOfMemoryException(位图图片分配给图片框时会出现异常),如何解决这个问题?
【问题讨论】:
-
什么函数产生错误?
-
位图图像分配给图片框时会出现异常
-
你永远不应该使用 GC.Collect().. ,尤其是在循环中。这真的很麻烦,升级你所有的对象生成,并且简单地让 GC 完全没用.. 它甚至可能导致问题本身......请参阅下面提到的其他解决方案并删除 collect 方法
-
+1。这是一个有效的问题 - 没有多少开发人员了解 .NET 内存管理的内部工作原理,并且这里存在与 alrge 位图有关的问题。这不一定是一个愚蠢的问题——一个显示出一些无知的问题,但是当 95% 的人不知道答案时,这不是无知,而是一个有效的观点。
-
那么我们什么时候可以使用 GC.Collect()
标签: c# c#-3.0 csharpcodeprovider