我想创建多个FileStreams
并需要保持打开状态 - 不会有I / O操作。什么是内存消耗?如果我创建大量此类流会影响系统性能吗?
答案 0 :(得分:0)
简而言之:保持文件流打开不是一个好主意,因为它是未受管理的资源。
在.NET框架体系结构中,如果代码中没有正确管理,所有未受管理的资源都会导致内存大量泄漏。
如果你说 - “我不想让它超出范围。然后垃圾收集器最终将调用Dispose,杀死流。但我想保持流打开。”
垃圾收集器将调用Finalize
方法(析构函数),而不是Dispose
方法。终结器将调用Dispose(false)
,不处理基础流。如果您需要直接使用基础流,那么您应该将StreamReader
超出范围。只需确保在适当的时候手动处理基础流。