在这种情况下,“不处理StreamWriter”会导致memoryLeak吗?
|
我有如下方法
public int TranslateOOV(string word, Stream logStream)
{
StreamWriter writer = new StreamWriter(logStream);
//Do some logging
//dont close the writer and leave the caller close the stream
}
我不关闭StreamWriter,因为调用者应关闭内部流,这会导致内存泄漏吗?
没有找到相关结果
已邀请:
4 个回复
锯康
有点罗word,但是我认为这告诉我们的是,处理流只处理StreamWriter使用的唯一Disposable资源。
和
字段是数组,
和
不是一次性的,而基
是虚拟的,因此,如果不对其进行清理,则Stream是唯一会引起问题的东西。 我认为这也很清楚,如果您要记录流的内容并在之后将其保持可用状态,那么您绝对会不想处置您的StreamWriter,因为这将处置Stream(Close调用)
)。您还需要确保重设Stream的位置,因为毫无疑问,您将通过阅读内容来更改它的位置。当然,这也意味着您可能想要检查Stream上的
属性,并确保一旦阅读内容,便可以将位置恢复到之前的位置。
森含械
驮帽俺篮号
哩翔购