欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【基于.NET BitmapImage 内存释放问题的解决方法详解】,下面是详细的讲解!
基于.NET BitmapImage 内存释放问题的解决方法详解
new Thread(new ThreadStart(()=> {
var bitmap=new BitmapImage();
bitmap.BeginInit();
using (var stream=new MemoryStream(File.ReadAllBytes(...))) {
bitmap.StreamSource=stream;
bitmap.CacheOption=BitmapCacheOption.OnLoad;
bitmap.EndInit();
bitmap.Freeze();
}
this.Dispatcher.Invoke((Action)delegate {
Image1.Source=bitmap;
});
})).Start();
关于基于.NET BitmapImage 内存释放问题的解决方法详解的用户互动如下:
相关问题:关于WPF中Image控件不释放内存的问题
答:由于Image.Source切换BitmapImage后,仍然抓着旧的bmImg不放,导致内存溢出.再多的内存也不够用. 先把图片缓存成二进制,这样可以释放对图片文件资源的占用,后面代码执行效率高;用通过MemoryStream生成的Source,用完就被释放了。 参考以下代码: by... >>详细
相关问题:.NET关于从数据库中读取照片的问题
答:说到最后没提问题,那我帮你提吧。 问:ms要怎样正确释放? 使用using语句自动释放。具体的你可以查查IDisposable接口和using语句。另外Close方法中调用了Dispose方法,显然你释放了两次。 另外再说一点,这里你没有使用using或者try-catch-... >>详细
相关问题:取数据库image类型图片的问题
答:图片是二进制字段数据(文件) 20.数据库存入二进制字段数据 /* using System.Data; using System.IO; using System.Data.SqlClient; */ private string File=""; if(openFileDialog1.ShowDialog()==DialogResult.OK) { pictureBox1.Image=new B... >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【As】Asp.net中的页面乱码的问题-sp--pn-ne-et
- 【增加记录】asp.net中获取新增加记录的ID Access
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
