我正在使用.Net 4.0,我需要在程序工作期间创建大量图像。据我所知,存储在LOH中的图像。 Image.Dispose()方法是否在LOH中释放内存?我尝试使用分析器,我看到GC有很多SOH清理,但应用程序的内存使用量仍然增加。如果我打电话
,所有内存都会释放GC.Collect();
GC.WaitForPendingFinalizers();
因此看起来图像的dispose方法不会释放LOH内存。
答案 0 :(得分:1)
IDisposable
是一种管理非托管资源(非托管内存或其他内容,如文件句柄)生命周期的机制。 LOH用于管理内存。所以是的,调用Dispose
很可能对托管堆使用没有任何作用,因为这两件事情没有任何共同点。