[英]How to remove image.Source from memory
我在 wrapPanel 中添加图像时遇到问题,如果 memory 中有太多图像,它会拒绝加载。
实际上,当我创建一个Image控件并且它的源来自URL(它必须从中下载图像)时,删除Image控件并使用相同的源重新创建一个,图像直接出现但没有时间下载像第一次创建控件的图像。
如何从 memory 中删除图像?
这是我的代码:
Image image = new Image();
image.Width = 60;
image.Height = 60;
image.ToolTip = StringExtension.GetTextBetweenTwoWord(Utilities.resource.EmojiesLink[i], "/72/apple/271/", "_").Replace('-', ' '); // name of mood
image.Stretch = Stretch.Fill;
image.Source = new BitmapImage(new Uri(Utilities.resource.EmojiesLink[i]));
image.MouseDown += new MouseButtonEventHandler(ExtraMoodFromWebsiteMouseDown);
wrapPanel_moodFromInternet.Children.Add(image);
PS:它在 WPF
您可以通过调用 dispose 方法从 memory 释放 object。 https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.dispose?view=dotnet-plat-ext-5.0
Image image = new Image();
image.Width = 60;
image.Height = 60;
image.ToolTip = StringExtension.GetTextBetweenTwoWord(Utilities.resource.EmojiesLink[i], "/72/apple/271/", "_").Replace('-', ' '); // name of mood
image.Stretch = Stretch.Fill;
image.Source = new BitmapImage(new Uri(Utilities.resource.EmojiesLink[i]));
image.MouseDown += new MouseButtonEventHandler(ExtraMoodFromWebsiteMouseDown);
wrapPanel_moodFromInternet.Children.Add(image);
image.Dispose(true);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.