【发布时间】:2017-10-17 11:46:23
【问题描述】:
我有这个问题:
public void WriteArgs(object[] args)
{
for (var i = 0; i < args.Length; i++)
{
Stream.WriteObject(args[i]);
}
}
它为 50 个调用 (screen) 分配 2 KB。这怎么可能?这个方法的哪一部分是分配内存? (在此屏幕上,您可以看到 Stream.WriteObject(args[i]); 正在分配 9.4,所以 2KB 是由 WriteArgs 自己分配的)
【问题讨论】:
-
你正在使用
Stream,这是一个非托管资源 -
Stream是什么类型的?
-
你为什么关心2KB?您是否在内存受限的环境中运行?
-
这是 MemoryStream
-
@mjwills 它是每个对象的每帧,我必须关心每一个字节;)
标签: c# unity3d memory memory-management garbage-collection