内存切片管理和大对象C#

Sar*_* S. 5 c# memory memory-leaks memory-management

我有一组存储在3D数组类型中Int16的图像,我缓存的图像数量最多可达600个图像或更多,这会影响内存性能的垃圾收集性能.我听说内存切片可以增强内存管理,因为它将子数组元素设置在一个单独的块中.
- 在我的情况下,我可以使用内存平铺吗?
- 如果是,我该如何使用它?

小智 3

我可以在我的情况下使用内存平铺吗?

是的。int16 [,,] 的 3d 数组必须是一个内存块。把它切成片,它们已经更小了。([][,])。

其余的取决于您的具体需求。

  • @Sara,事情远没有那么简单。哪种形式更好取决于您到底在做什么。 (2认同)