我们什么时候应该进行内存管理以及我们如何对这两种类型的资源进行管理?托管和非托管资源的列表是什么?我们真的需要担心内存泄漏吗?
问问题
1209 次
1 回答
5
托管资源是完全用 .NET 编写的资源。尽管通常不会发生经典的内存泄漏,但仍然可以通过不取消引用未使用的资源来泄漏内存(最常见的原因是不取消注册事件处理程序)。
非托管资源通常是那些不是纯 .NET(并且在同一进程中)的资源 - 例如:
- COM 组件
- 数据库连接/事务
- 窗把手
- 文件系统句柄
- 注册表句柄
- 网络连接
- 等等……等等……
对于这些,您需要Dispose
正确实施该模式,并确保在使用完它们后正确处理它们。
我们真的需要担心内存泄漏吗?
是的,我们确实需要担心它们,尤其是在 .NET 之外时。
于 2013-02-17T19:40:57.327 回答