相关疑难解决方法(0)

C#弱引用实际上是软的吗?

基本的不同之处在于,应该在每次运行GC时声明弱引用(保持内存占用率低),而软引用应该保留在内存中,直到GC实际需要内存(它们尝试扩展生命周期但可能随时失败,这对于例如特别是相当昂贵的对象的高速缓存是有用的.

据我所知,没有明确的陈述说明弱引用如何影响.NET中对象的生命周期.如果它们是真正的弱参考,它们根本不应该影响它,但是这也会使它们对于我们认为缓存的主要目的而言毫无用处(我错了吗?).另一方面,如果他们的行为像软参考,他们的名字有点误导.

就个人而言,我想他们的行为就像软参考,但这只是一种印象,而不是创立.

当然,实施细节也适用.我问的是与.NET的弱引用相关的心态 - 它们是否能够延长寿命,还是它们的行为像真正的弱引用?

(尽管有一些相关的问题我还没找到这个具体问题的答案.)

.net c# garbage-collection weak-references soft-references

18
推荐指数
2
解决办法
3190
查看次数

相当于.net中的SoftReference?

我很熟悉WeakReference,但我正在寻找一种在内存不足时才清除的引用类型,而不仅仅是每次gc运行时(就像Java一样SoftReference).我正在寻找一种实现内存敏感缓存的方法.

.net garbage-collection weak-references soft-references

5
推荐指数
1
解决办法
1446
查看次数