大对象堆和IDisposable [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我正在使用.Net 4.0,我需要在程序工作期间创建大量图像。据我所知,存储在LOH中的图像。 Image.Dispose()方法是否在LOH中释放内存?我尝试使用分析器,我看到GC有很多SOH清理,但应用程序的内存使用量仍然增加。如果我打电话,所有内存都会释放

GC.Collect(); 
GC.WaitForPendingFinalizers();

所以看起来像图像的配置方法不释放LOH内存。

c# .net
1个回答
1
投票

IDisposable是一种管理非托管资源(非托管内存或其他内容,如文件句柄)的生命周期的机制。 LOH用于管理内存。所以是的,调用Dispose很可能对托管堆的使用没有任何作用,因为这两件事没有任何共同之处。

© www.soinside.com 2019 - 2024. All rights reserved.