Age*_*ire 14 memory wpf image bitmapimage
首先,我BitmapImage在Image控件上加载一个Window.其次,我使用Image控件然后关闭Window.
我在一分钟内做了2-3次,而且我的记忆很快就会填满,因为当窗户关闭时,图像不会卸回.
那么如何手动BitmapImage从Image.Source控制中卸载以释放内存?
maj*_*zim 24
我相信您正在寻找的解决方案是http://www.ridgesolutions.ie/index.php/2012/02/03/net-wpf-bitmapimage-file-locking/.就我而言,我试图在创建文件后找到删除文件的方法,但它似乎是两个问题的解决方案.
不释放内存:
var bitmap = new BitmapImage(new Uri(imageFilePath));
Run Code Online (Sandbox Code Playgroud)
释放内存,并允许删除文件:
var bitmap = new BitmapImage();
var stream = File.OpenRead(imageFilePath);
bitmap.BeginInit();
bitmap.CacheOption = BitmapCacheOption.OnLoad;
bitmap.StreamSource = stream;
bitmap.EndInit();
stream.Close();
stream.Dispose();
Run Code Online (Sandbox Code Playgroud)
(可选)冻结BitmapImage:
bitmap.Freeze();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17693 次 |
| 最近记录: |