我有一个使用许多(有时很大)图像的WinRT应用程序。图像存储在磁盘上,但加载图像需要一些时间,这会导致视觉打嗝。为了解决这个问题,我load the images beforehand并将它们存储到缓存中。
但是,我对在内存中存储图像的任意数字有点犹豫,并希望使用在内存不足时自动清理的缓存。
我将如何实施此功能?在iOS上有一个didReceiveMemoryWarning
方法,但我无法找到WinRT的等效方法。
答案 0 :(得分:0)
如果使用.NET,您可以尝试将weak references保存到缓存中的图像,因此当您使用它们时 - 它们不会被垃圾收集,但如果您不这样做 - 它们将是在记忆压力发生时收集。从缓存中检索图像时 - 您只需检查弱引用是否存活,如果不存在 - 您将在返回之前重新加载图像。