C#的GC释放内存不是立刻释放,而是先放到f-reachable队列中,在合适的时间调用终结器,这样延迟的终结器的调用,调用了终结器后的对象才会回收其内存,如果希望对象能更快被释放,可以实现IDispose接口并调用System.GC.SuppressFinalize(this),调用这个方法后对象不会被放进f-reachable队列中,但是注意不放进队列就不会调用终结器,所以在Dispose中要完成终结器的功能。注意Dispose是需要自己显式调用或者放在using语句的括号中。
C# System.GC.SuppressFinalize(object)
最新推荐文章于 2021-09-30 10:48:10 发布