从长期存在的对象中清除内存中的大字段

时间:2009-10-07 11:45:49

标签: c# .net memory garbage-collection dispose

.NET 3.5,我有一些类可以存储多达1MB的字符串。即使我需要对象很长一段时间,我也不需要长时间存储字符串。

如何在不释放父对象的情况下真正从内存中删除字符串。

在这种情况下使用“myString = null”是一种好习惯吗?或者将它包装在一个私人的dsposable类或什么东西?

3 个答案:

答案 0 :(得分:2)

IDisposable与内存管理无关。将null分配给私有变量就可以了。并查看Flyweight是否适合您。

答案 1 :(得分:0)

您考虑过WeakReference吗?

答案 2 :(得分:0)

您可能在程序中的其他位置引用或复制字符串(例如在TextBox中?),这会使其在内存中保持活动状态。