我正在写一个C#/ XAML UWP应用程序,广泛使用BitmapImage类并从互联网上加载大量图像。从我读过的这个类以某种方式兑现了它显示的图像,并且我已经提出了一些关于这个缓存如何工作的问题:BitmapImage和缓存
a)如果我将图像从给定Url加载到BitmapImage,假设该图像根据该Url不会改变,这是否意味着当我关闭应用程序并再次打开并从同一Url加载BitmapImage时,图像从本地缓存加载? b)如果对a)的答案是肯定的,则意味着图像在光盘/ microSD /内部存储器等的某处进行了编码。我怎样才能清理这个缓存?当我下载大量图像时,这个缓存可能占用很多空间,这是怎么处理的? c)如果对a)的答案是肯定的,那么系统如何确定它应该从Url下载图像还是从缓存中加载图像?给定的Url下的内容可以改变,所以我猜它必须保留基于图像内容的某种散列。它能否以显着的方式影响性能?
将设置创建选项BitmapCreateOptions.IgnoreImageCache防止任何缓存发生? – Robert
它只会阻止应用程序从缓存中加载图像。请参阅此处了解更多详细信息:https://msdn.microsoft.com/en-us/library/system.windows.media.imaging.bitmapcreateoptions(v=vs.110).aspx –