繁体   English   中英

如何从 memory 中删除 image.Source

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM