在VB.NET程序中,我正在创建一个新的位图图像,然后我调用Graphics.FromImage来获取一个Graphics对象来绘制位图.然后将图像显示给用户.
我见过的所有代码示例总是在Bitmaps和Graphics对象上调用.Dispose(),但是当没有触及磁盘上的文件时是否需要这样做?是否有任何其他非托管资源,这些对象可能已被抓取,垃圾收集器无法清除?
将其包含在您需要的范围的using语句中.然后不要担心显式调用Dispose()
伪代码:
using(new Graphics() = Graphics.FromImage)
{
//Magic happens...
}
Run Code Online (Sandbox Code Playgroud)
是.
始终调用Dispose()任何实现的对象IDisposable.图形对象使用的GDI句柄是不受管理的,并且在完成它们时需要进行处理.
最佳做法是包裹一个using块.关于这个主题,BTW有几个SO问题.