要对多个文件进行访问,发现内存占用越来越大,最后到了300M,简直难以想象,将用到的类置为null,再调用GC.Collect()还是不管用,高手请指教

解决方案 »

  1.   

    文件访问是进行的非托管资源的访问,光调用自动垃圾收集是没有用的。
    你应该对 文件句柄 及时的 Dispose()才对啊。(FileStream有这样的方法),这样其实是关闭了文件句柄。
    GC.Collect()是并不会释放 文件资源的。你可以看一下.NET的垃圾收集机制。
    .NET框架设计一书里说的很清楚的。
      

  2.   

    如果不是同时访问需要手动调用DISPOSE方法,同楼上所说 垃圾回收器不会释放文件流的