【发布时间】:2013-02-02 05:31:31
【问题描述】:
我们应该什么时候进行内存管理以及我们如何对这两种类型的资源进行管理? 托管和非托管资源的列表是什么? 我们真的需要担心内存泄漏吗?
【问题讨论】:
标签: .net
我们应该什么时候进行内存管理以及我们如何对这两种类型的资源进行管理? 托管和非托管资源的列表是什么? 我们真的需要担心内存泄漏吗?
【问题讨论】:
标签: .net
托管资源是完全用 .NET 编写的资源。尽管通常不会发生典型的内存泄漏,但仍然可以通过不取消引用未使用的资源来泄漏内存 (the most common reason is to not un-register event handlers)。
非托管资源通常是那些不是纯 .NET(并且在同一进程中)的资源 - 示例如下:
对于这些,您需要执行Dispose pattern, correctly,并确保在使用完后妥善处理。
我们真的需要担心内存泄漏吗?
是的,我们确实需要担心它们,尤其是在 .NET 之外时。
【讨论】:
IDisposable,则丢弃它。
MarshalByValueComponent 实现 IDisposable。继承的魔力。