BitmapSource.Create创建两个图像数据副本

时间:2014-02-18 13:48:14

标签: c# .net-4.0 bitmapsource

拥有处理大量图像的应用程序。内存占用量约为预期大小的两倍。

我已将我的代码修剪为下面显示的内容,_source是一个保留在范围内的实例变量:

int width = 924;
int height = 1116;
int length = width * height;
UInt32[] data = new UInt32[length];

_source = BitmapSource.Create( width, height, 96, 96, 
                               PixelFormats.Pbgra32, 
                               null, data, width * sizeof(UInt32));
_source.Freeze();

如果我通过ANTS Memory Profiler提供此信息,我会看到BitmapSafeMIHandle被分配,并且每次运行时内存使用量的增加大约是位图大小的两倍。

我不做什么?我必须忍受这个吗?任何信息都赞赏。

干杯, 佰

0 个答案:

没有答案