WPF的BitmapImage的文件无法释放及内存泄露的问题
2012-07-21 21:00
381 查看
相信用过WPF的BitmapImage的,都在用类似这样的代码来解决文件无法删除的问题!
如果看看msdn上简单的描述,可以看到这样的说明:
如果 StreamSource 和 UriSource 均设置,则忽略 StreamSource 值。
如果要在创建 BitmapImage 后关闭流,请将 CacheOption 属性设置为 BitmapCacheOption.OnLoad。 默认 OnDemand 缓存选项保留对流的访问,直至需要位图并且垃圾回收器执行清理为止。
static class AppHelper
{
public static BitmapImage GetBitmapImage(string path)
{
BitmapImage bitmap = new BitmapImage();
bitmap.BeginInit();
image.CacheOption = BitmapCacheOption.OnLoad;
bitmap.StreamSource = new MemoryStream(File.ReadAllBytes(path));
bitmap.EndInit();
bitmap.Freeze();
return bitmap;
}
}
如果看看msdn上简单的描述,可以看到这样的说明:
如果 StreamSource 和 UriSource 均设置,则忽略 StreamSource 值。
如果要在创建 BitmapImage 后关闭流,请将 CacheOption 属性设置为 BitmapCacheOption.OnLoad。 默认 OnDemand 缓存选项保留对流的访问,直至需要位图并且垃圾回收器执行清理为止。
static class AppHelper
{
public static BitmapImage GetBitmapImage(string path)
{
BitmapImage bitmap = new BitmapImage();
bitmap.BeginInit();
image.CacheOption = BitmapCacheOption.OnLoad;
bitmap.StreamSource = new MemoryStream(File.ReadAllBytes(path));
bitmap.EndInit();
bitmap.Freeze();
return bitmap;
}
}
相关文章推荐
- WPF的BitmapImage的文件无法释放及内存泄露的问题
- [转]WPF的BitmapImage的文件无法释放及内存泄露的问题
- WPF的BitmapImage的文件无法释放及内存泄露的问题
- WPF的BitmapImage的文件无法释放及内存泄露的问题
- 解决进程文件句柄泄露导致磁盘空间无法释放问题
- DataTable.NewRow 内存无法释放问题
- WPF的内存泄露问题
- IE6-内存无法释放问题
- 删除大文件后空间无法释放的问题处理
- Android(SpreadTurm)无T卡下载文件导致无法释放手机内存
- GDI对象错误:CBRUSH释放、CreateSolidBrush的内存释放与内存泄露问题及其解决方法
- HBASE内存泄露读文件失败的问题
- 【WPF】app.g.cs文件无法修改、修改后自动恢复问题解决办法
- Winform中的PictureBox读取图像文件无法释放的问题
- C语言堆内存管理上出现的问题,内存泄露,野指针使用,非法释放指针
- WPF BitmapImage 占用资源无法释放、无法删除问题
- C语言堆内存管理上出现的问题,内存泄露,野指针使用,非法释放指针
- redis采用tcmalloc导致无法释放内存的问题
- python类中显示重写__del__方法,引起循环引用的对象无法释放,造成垃圾泄露问题
- WPF BitmapImage 占用资源无法释放、无法删除问题