我有一个理论问题。
短:
如果对它的最后一个引用是WeakReference,则会收集透明代理对象,但仍然在主机进程中引用了真实对象。
示例:
使用的示例没有意义,但真实场景太复杂,无法描述。
假设有一个使用WeakReferences实现的缓存,如下所述: WeakReferenceExampleMSDN
现在缓存中充满了生活在另一个进程中的对象(远程处理)。这些对象在本地进程中只是透明的代理对象,它们的生命周期由另一个进程控制。
如果没有魔法我假设代理对象被收集,因为代理对象只是真实对象的句柄。首次运行GC后,缓存为空。
答案 0 :(得分:0)
透明代理将由GC收集。因此,这样的缓存不适用于RemoteObjects