可以想象,这些关键字(download image uitableviewcell)将返回与“延迟加载”问题相关的结果,而这不是我想知道的。
我想知道的是,是否有一种方法可以在显示单元之前下载图像。
如果我们可以提前下载可见单元格的图像加上5或6张,并在表运行期间继续下载5/6张图像,那就太好了
当然,所有的链接都存储在一个数组中,所以很容易提前获取它们
我正在使用AFNetworking进行所有的网络操作
谢谢
发布于 2014-08-23 05:07:45
朴素解决方案
如果您的图像具有缓存策略,那么您可以根据需要预取任意数量的图像,并且在下一次实际调用时,在单元中加载图像时,它将(从缓存)更快地加载图像。这有点天真,因为您将一切都建立在服务器使用客户端的缓存机制来减少网络操作数量的前提下(但情况并不总是如此)。
更好的解决方案
此外,您还可以实现自己的数据结构(例如扩展NSMutableDictionary),以便随时存储、处理和下载图像。例如,当您加载表格视图时,您可以开始下载将要显示的图像,以及下一个单元格的更多图像。然而,正如@picciano所说的那样,滚动表视图可能非常快,所以预取只是浪费时间。
评论
只有当用户连接到高速网络时,这种预取才有意义。但是,如果用户连接到速度较慢的网络,那么您将创建大量的网络操作,这将需要时间来完成(不是很省电)。
https://stackoverflow.com/questions/25454667
复制相似问题