【发布时间】:2019-10-30 11:54:28
【问题描述】:
如何从内存中删除之前的图像?
在图像网格中设置图像的方法:
public async Task Show(KeyValuePair<Image, Storyboard> imageStoryboard)
{
if (isVisible)
{
return;
}
isVisible = true;
this.ImageComponent = imageStoryboard.Key;
// элемент показан сохраняем его страницу
Models.Page.Save(ImageData.Page, ImageData.NextPageLink);
BitmapImage _bitmapImage = await GetBitmapImage(ImageData.ThumbnailUrl);
// если высота неопределена вычисляем её
if (Height == 0)
{
PixelHeight = _bitmapImage.PixelHeight;
PixelWidth = _bitmapImage.PixelWidth;
CalcHeight();
}
// параметры изображения
ImageComponent.Width = App.Settings.side_size;
ImageComponent.Height = Height - MARGIN;
ImageComponent.Margin = new Thickness(0, MarginTop, 0, 0);
Grid.SetColumn(ImageComponent, Column);
ImageComponent.DataContext = ImageData;
ImageComponent.Source = _bitmapImage;
// анимация
imageStoryboard.Value.Stop();
imageStoryboard.Value.Begin();
}
我设置了新的来源ImageComponent.Source = _bitmapImage;,但是如何从内存中删除以前的图像?
当我加载越来越多的图像时,内存丢失并且应用程序关闭。当我加载以前的图像时,它们加载的速度非常快。
此图片加载方法:https://pastebin.com/AWHpNCJU
【问题讨论】:
标签: c# memory uwp bitmapimage