System.Windows.Media.Imaging.WriteableBitmap泄漏内存?

时间:2015-08-30 14:33:23

标签: c# memory-leaks writeablebitmap writeablebitmapex system.windows.media

请考虑以下代码抛出异常'MILERR_WIN32ERROR':

while(true)
            {
                System.Windows.Media.Imaging.WriteableBitmap writableBitMap =
                                    new System.Windows.Media.Imaging.WriteableBitmap(100, 200, 96, 96, System.Windows.Media.PixelFormats.Bgra32, null);
            }

WriteableBitmap没有实现IDisposable,我不确定为什么会发生内存泄漏(我原来的代码要复杂得多,而且我跟踪了它)。

1 个答案:

答案 0 :(得分:2)

内存泄漏问题源于BitmapSource的内存泄漏。谷歌搜索将找到更好的结果:))

This表示你应该在使用后将writableBitMap指定为'null'。我会说尝试使用Freeze()方法然后将其分配给null然后尝试。如果之后,如果您看到内存泄漏仍然存在,请将disable the caching option(CacheOption)设置为BitmapCacheOption.OnLoad。