【发布时间】:2010-12-04 14:32:15
【问题描述】:
.NET 3.5,我有一些类可以存储多达 1MB 的字符串。即使我需要很长时间的对象,我也不需要长时间存储字符串。
如何在不释放父对象的情况下真正从内存中删除字符串。
在这种情况下使用“myString = null”是一个好习惯吗?还是应该将它包装在一个私有的 dsposable 类或其他东西中?
【问题讨论】:
标签: c# .net memory garbage-collection dispose
.NET 3.5,我有一些类可以存储多达 1MB 的字符串。即使我需要很长时间的对象,我也不需要长时间存储字符串。
如何在不释放父对象的情况下真正从内存中删除字符串。
在这种情况下使用“myString = null”是一个好习惯吗?还是应该将它包装在一个私有的 dsposable 类或其他东西中?
【问题讨论】:
标签: c# .net memory garbage-collection dispose
您可能在程序中的其他地方引用或复制字符串(比如在 TextBox 中?),这使它在内存中保持活跃。
【讨论】:
你考虑过WeakReference 吗?
【讨论】:
IDisposable 与内存管理无关。将null 分配给私有变量就可以了。看看Flyweight 是否适合你。
【讨论】: