【问题标题】:Proper way to dispose a BitmapSource处理 BitmapSource 的正确方法
【发布时间】:2010-12-08 04:46:27
【问题描述】:

您应该如何处理 BitmapSource ?

// this wont work because BitmapSource doesnt implement IDisposable
using(BitmapSource bitmap = new BitmapImage(new Uri("myimage.png")))
{
}

【问题讨论】:

标签: c# wpf .net-3.5 bitmapimage


【解决方案1】:

您不必 Dispose() BitmapSource。与框架中的其他一些“图像”类不同,它不包装任何原生资源。

只要让它超出范围,垃圾收集器就会释放它的内存。

【讨论】:

  • 好的。我的同事提到 WPF 是完全 dx 加速的,并且图像等存储在视频中。这只是一个幻想吗?我是一名长期的 winforms 程序员,现在正在 WPF 中编写一个新模块,所以我认为我需要处理图像。
  • BitmapSource 不是图像 - 它用于生成图像。但是,它是一种托管像素存储介质。有点令人困惑,但它总是值得检查。一般来说,只要看看类层次结构——如果它没有实现 IDisposable,你可以让 GC 代替你担心。 :)
  • 除非它是 WritableBitmap。
猜你喜欢
  • 2011-02-28
  • 2016-01-15
  • 1970-01-01
  • 2016-05-02
  • 1970-01-01
  • 2010-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多