现在,我正在开发一个类似于BBC新闻iOS的新闻阅读器应用程序。在BBC News中查看
在我的应用程序中,我必须从服务器下载图像并在视图中显示它们,以使用户更容易选择他们想要阅读的新闻。
为了获得更好的性能,我必须缓存图像以避免从服务器重新加载图像。 我知道有两种缓存:将图像保存在内存(RAM)中的内存缓存和将图像保存在磁盘中的DiskCache以在需要时加载它。
我的问题是: 对于我的应用程序,什么是最佳的混合策略来缓存图像?(同时使用内存缓存和图像缓存) 我的解决方案是:
下载图像-->将它们保存在磁盘缓存中+将它们保存在内存缓存中-->按需从内存缓存中加载图像并显示在视图中--->当内存缓存达到其MAX_SIZE时-->释放内存缓存--->按需从磁盘缓存中加载图像并将其保存到内存缓存中-->重复........ 我的解决方案是否正确?
另一个问题:当内存缓存超过其MAX_SIZE时,我们将释放它的所有图像,因此缓存中的所有图像都将丢失,因此我们视图中的图像也将消失。 如何解决这个问题? 抱歉我的英语不好。 提前感谢您。
为了获得更好的性能,我必须缓存图像以避免从服务器重新加载图像。 我知道有两种缓存:将图像保存在内存(RAM)中的内存缓存和将图像保存在磁盘中的DiskCache以在需要时加载它。
我的问题是: 对于我的应用程序,什么是最佳的混合策略来缓存图像?(同时使用内存缓存和图像缓存) 我的解决方案是:
下载图像-->将它们保存在磁盘缓存中+将它们保存在内存缓存中-->按需从内存缓存中加载图像并显示在视图中--->当内存缓存达到其MAX_SIZE时-->释放内存缓存--->按需从磁盘缓存中加载图像并将其保存到内存缓存中-->重复........ 我的解决方案是否正确?
另一个问题:当内存缓存超过其MAX_SIZE时,我们将释放它的所有图像,因此缓存中的所有图像都将丢失,因此我们视图中的图像也将消失。 如何解决这个问题? 抱歉我的英语不好。 提前感谢您。