空闲文件流消耗的内存

时间:2012-12-16 14:43:26

标签: c# .net file filestream

我想创建多个FileStreams并需要保持打开状态 - 不会有I / O操作。什么是内存消耗?如果我创建大量此类流会影响系统性能吗?

1 个答案:

答案 0 :(得分:0)

简而言之:保持文件流打开不是一个好主意,因为它是未受管理的资源。

在.NET框架体系结构中,如果代码中没有正确管理,所有未受管理的资源都会导致内存大量泄漏。

如果你说 - “我不想让它超出范围。然后垃圾收集器最终将调用Dispose,杀死流。但我想保持流打开。”

垃圾收集器将调用Finalize方法(析构函数),而不是Dispose方法。终结器将调用Dispose(false)处理基础流。如果您需要直接使用基础流,那么您应该将StreamReader超出范围。只需确保在适当的时候手动处理基础流。