我用C# .net 编写了一个基于Socket的网络服务的应用程序, 短时间运行很好(大约占30兆内存左右),但是长时间运行的话就会占用大量的内存。(经过一个晚上的运行内存占用量达到了400多兆).
C#又不能自己释放自己使用的内存,说是有自动垃圾回收机制,但我还是不怎么相信它,(它怎么知道这片内存我会用还是不会用了)
所以向大家请教该如何解决我上面的问题。并请教在C#程序中该如何管理好自己的内存。
我认为xx_lzj说的很有道理
但为什么不断的 new byte[] 会造成内存占用过多的问题。
程序在运行中也会new很多的对象啊,这些不用管么。还有怎样释放掉new byte[] 所占用的内存空间。