WeakReference并且SoftReference在您想要保留某些东西以备再次需要时使用 - 但您可能不需要它,如果确实需要它,您可以重新创建它。
例如,如果你有一个从网站上获取的信息缓存,你不想不断地重新获取它,但是如果你需要内存,你总是可以放下一些你有一段时间没有使用过的东西,然后把它找回来如果您确实需要它,请再次使用。
SoftReferences 特别是对于这种缓存很有用,因为它告诉 GarbageCollector 不要删除对象,除非它真的需要释放内存。
WeakReference 另一方面,GC 可以根据需要尽快清理。
我之前结合工厂模式使用过它们。SoftReference在工厂中创建对象时保留一个to 对象。如果再次请求它们,则返回已经创建的对象。如果它们不存在或已被垃圾收集,则创建它们,返回它们,并SoftReference在工厂内部保留一个。
| 归档时间: |
|
| 查看次数: |
2943 次 |
| 最近记录: |