6
何时在.Net中使用弱引用?
我个人没有遇到过需要在.Net中使用WeakReference类型的情况,但是普遍的看法似乎是应该在缓存中使用它。乔恩·哈罗普博士给了反对缓存使用在WeakReferences在他的一个很好的案例回答到这个问题。 我也经常听到AS3开发人员谈论使用弱引用来节省内存占用,但是根据我的交谈,似乎增加了复杂性,而不一定实现预期的目标,并且运行时行为是不可预测的。如此之多,以至于许多人只是放弃了,而是更加谨慎地管理内存使用/优化其代码以减少内存占用(或权衡更多的CPU周期和较小的内存占用)。 乔恩·哈罗普(Jon Harrop)博士在回答中也指出.NET弱引用不是软的,并且在gen0上有激进的弱引用集合。根据MSDN,较长的弱引用使您有可能重新创建对象but the state of the object remains unpredictable.! 考虑到这些特征,我想不出弱引用有用的情况,也许有人可以启发我?