异步开始写入结束写入 Unity (NET 2.0)
本文关键字:NET Unity 开始 结束 异步 | 更新日期: 2023-09-27 18:33:42
我正在尝试找出以异步方式将一些字节(在本例中为记录的.wav文件)写入硬盘的正确方法。
我正在使用unity,所以据我所知,我仅限于使用Filestream.BeginWrite和EndWrite。
到目前为止,我得到的似乎正在工作,但我担心,由于我缺乏异步调用的经验,我在完成后没有正确关闭文件流,从而泄漏内存。
我像这样开始写作:
object t = null;
fileStream.BeginWrite(bytesData, 0, bytesData.Length, new AsyncCallback(EndWriteCallback), t);
然后我有一个EndWriteCallback,它有这个:
public static void EndWriteCallback(IAsyncResult e){
FileStream fs = e.AsyncState as FileStream;
fs.EndWrite(e);
}
这就够了吗?同样,它似乎工作正常,但我觉得我必须在某个地方调用 FileStream.Close()。
提前致谢
正如@ChristophKn上面的评论中提到的,fs.dispose()
可能是释放资源的最佳方式。