WPF BitmapImage 占用资源无法释放、无法删除问题
使用Image控件显示图片后,虽然自己释放了图片资源,Image.Source =null 了一下,但是图片实际没有释放。
解决方案:修改加载方式~
public static BitmapImage GetImage(string imagePath)
{
BitmapImage bitmap = new BitmapImage();
if (File.Exists(imagePath))
{
bitmap.BeginInit();
bitmap.CacheOption = BitmapCacheOption.OnLoad;
using (Stream ms = new MemoryStream(File.ReadAllBytes(imagePath)))
{
bitmap.StreamSource = ms;
bitmap.EndInit();
bitmap.Freeze();
}
}
return bitmap;
}
//使用时直接通过调用此方法获得Image后立马释放掉资源
ImageBrush berriesBrush = new ImageBrush();
berriesBrush.ImageSource = GetImage(path); //path为图片的路径
this.Background = berriesBrush;
最新文章
- ubuntu搭建nfs网络文件系统
- sql server导入mdf 报操作系统错误 5:“5(拒绝访问。)”
- Oracle数据库作业-4 查询
- Metrics-Java版的指标度量工具
- HBase:Shell
- j2ee基础(1)servlet的生命周期
- MVP框架 – Ted Mosby的软件架构
- sql0001
- MySQL删除foreign key_ERROR 1025 (HY000): Error on rename of './test_20180206/cc' to './test_20180206/#sql2-9ac-e' (errno: 152)
- React-redux框架之connect()与Provider组件 用法讲解
- Apache Phoenix Flume集成 -- JsonEventSerializer改进
- 随机指定范围内N个不重复的数
- PHP 换行符 PHP_EOL
- Visual Studio 2012 &; MyEclipse2015 快捷键对比
- 理解JVM之Java内存区域
- Qt入门之基础篇 ( 一 ) :Qt4及Qt5的下载与安装
- iptables,lokkit,ebtables,arptables---logrotate
- SpringBoot整合MyBatis及Thymeleaf
- 4、Android-数据存储方案(SQLite数据库存储)
- Makefile 实例实践