在我的 Azure 角色中,我想在 64 位进程中运行 C# 代码,我想下载一个 ZIP 文件并尽快解压缩它。我想我可以执行以下操作:创建一个MemoryStream
实例,下载到该实例,MemoryStream
然后将流传递到某个 ZIP 处理库进行解包,一旦解包完成,丢弃流。这样我就可以摆脱不必要地执行大量 I/O 的写-读-写序列。
但是我读过它MemoryStream
是由一个数组支持的,半 GB 的数组肯定会被认为是一个“大对象”,并将分配在一个不会在垃圾收集上压缩的大对象堆中。这让我担心,也许这种使用MemoryStream
会导致进程内存碎片化和负面的长期影响。
这可能会对我的流程产生任何长期的负面影响吗?