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