一般用法
//這樣創建不會自動釋放
var bitmap = new BitmapImage(new Uri(imageFilePath));
可行方法
Bitmap bitmap = new Bitmap();
using(var stream = new FileStream(...))
{
bitmap.BeginInit();
bitmap.CacheOption = BitmapCacheOption.OnLoad;
bitmap.StreamSource = stream;
bitmap.EndInit();
}
bitmap.Freeze();
image.Source = bitmap;
注意 本人在使用的過程中,用在ImageBrush的ImageSoure,此時如果不要需要這個ImageBrush時需要設置ImageBrush.ImageSource = null
,否則該內存也無法釋放。