内存泄漏与设计模式常见问题解析
1. 垃圾回收相关测验
- 测验 1 :注释掉图 29 - 5 所示的两行代码,预测代码输出。在这种情况下,析构方法会被调用,输出如下:
***Quiz on Garbage Collections***
MyClass.DoSomething
MyClass.Destructor is Called..
当析构函数执行时,若想长时间保留输出结果,可使用开发者命令提示符(如图 29 - 6 所示)。
- 测验 2 :继续注释掉 //GC.SuppressFinalize(this) 这一行,并调用 Dispose() 方法(如图 29 - 7 所示),预测输出。输出如下:
***Quiz on Garbage Collections***
MyClass.DoSomething
MyClass.Dispose() is called
MyClass.Destructor is Called..
由于未使用 SupressFinalize(...) 限制垃圾回收器回收对象占用的内存,所以 Dispose() 方法和对象的析构函数都会被调用。
2. 理解内存泄漏
在构建应用程
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



