简单交叉app对象中的内存泄漏

时间:2011-09-04 20:52:59

标签: c# marshalbyrefobject

我正在尝试使用跨AppDomain对象,并发现一个非常奇怪的事情。

当我调用一个远程方法,即分配一个MemoryStream对象并返回它的引用(并且它被调用者立即处理)时,即使在调用GC.Collect之后,内存使用量也会显着增加并且不会下降。 )。

在每次返回新String或byte []对象的调用方法上,没有泄漏。

Memory Profiler显示大多数活动对象的类型为Char []和String(如果是MemoryStream)。

问题是 - 我是否误解了某些内容,远程调用并不像继承MarshalByRefObject那么简单?

1 个答案:

答案 0 :(得分:3)

远程调用很简单 - 但对象生存期和垃圾收集并不那么简单。

您应该在leases and sponsorships上阅读一下。