该
Pen会由GC在未来某个不确定的点进行收集,你是否不叫
Dispose。
但是,GC不会清除笔所拥有的任何非托管资源(例如GDI
+句柄)。GC仅清除托管资源。通过调用
Pen.Dispose,您可以确保及时清理这些非托管资源,并且不会泄漏资源。
现在,如果
Pen拥有终结器,并且该终结器清除了非托管资源,那么当
Pen垃圾被回收时,那些非托管资源将被清理。但是重点是:
- 您应该
Dispose
显式调用以便释放非托管资源,并且 - 您不必担心是否有终结器可以清除非托管资源的实现细节。
Pen实施
IDisposable。
IDisposable用于处置非托管资源。这是.NET中的模式。
有关该主题的先前评论,请参见此答案。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)