System.Func占用多少内存?
如果System.Func只有1行代码和1000行代码,是否有区别?
Func<>是一个委托类型,在x86 jitter中,它的实例占用32字节的存储空间:
目标方法的大小不相关,委托对象仅存储方法的地址。
System.Func
仅仅是一个委托,简单地说它保存了一系列指向函数的指针,因此,System.Func
占用的内存与其所分配的函数委托数量成正比,而与其所指向的函数实际大小无关。我不知道这有多大帮助,但使用它我们可以了解一个进程的内存使用情况。
int memory;
Process[] application;
application = Process.GetProcessesByName("MyApplication.exe");
applicationMemory = application[0].PrivateMemorySize;
Console.WriteLine("Memory used: {0}.", applicationMemory);
我认为代码行数的多少并没有什么区别。你可以使用分析器来解决这个问题。下载你的分析器工具包,将你的应用程序附加上去,然后你就可以看到代码的内存使用情况,我想这会对你有所帮助……