问题描述
请问,对象调用DISPOSE方法后是只在GC中作一个标记,然后代码执行完成后托管GC清理此对象呢,还是,对象调用DISPOSE方法后直接就被销毁了?
解决方案
解决方案二:
Dispose方法定义在IDisposable接口,除了说明具有Dispose方法外,还对Using语句块提供了语法上的支持。调用Dispose和GC没有必然联系,GC在清理对象前将调用对象的Finalize方法。若需要调用GC清理指定对象,使用obj=NothingGC.Collect()
解决方案三:
dispose不能直接销毁,但是如果再次使用时需要使用 isdispose来判断一下gc.collerct是销毁无指针指向的内存!!注意:如果应用程序占用内存比较大时,使用gc.collerct会很慢,使应用性能降低(特别是在图像处理方面)所以只用dispose 就好!不用调用gc.collerct
时间: 2024-09-28 04:05:22