考虑下面的代码抛出一个异常'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,我根本不确定为什么会发生内存泄漏(我的原始代码要复杂得多,我追踪到了这一点)。
发布于 2015-08-31 01:34:16
内存泄漏问题源于BitmapSource的内存泄漏。用谷歌搜索一下会发现更好的结果:)
This说,一旦使用了writableBitMap,就应该将它赋值为“null”。我建议在将其赋值为null之前尝试使用Freeze()方法,然后再尝试。如果在此之后,如果您看到内存泄漏仍然存在,请通过将其设置为BitmapCacheOption.OnLoad来执行disable the caching option (CacheOption)。
https://stackoverflow.com/questions/32297637
复制相似问题