SDWebImage是否支持延迟加载时“不用快速滚动”(略读)?

时间:2014-08-17 09:15:08

标签: ios uitableview uicollectionview lazy-loading sdwebimage

进行延迟加载(UICollectionView表)时,

要获得正确的结果,当用户在集合上快速滚动时,您不应该开始下载。

因此,想象一下垂直滚动,每个200个面板都有一个图像;一次在屏幕上看到四到五个。

首次加载时,前4个可见图像应开始加载。如果向下滚动一点,新的可见图像应该开始加载。

但是如果用户:非常快速向下滚动到(比方说)位置100,然后定位显示项目100-104的视图...理想情况下,你应该不开始加载用户“快速浏览”的图像(比如说) ,4到99),当用户停止非常快速地滚动时,你应该只进行下载,并且显然在一些图像上停止或减慢。

因此,在任何高质量的延迟加载卷轴中,这是一个标准的事情。当用户浏览时,您不会开始加载。

我的问题很简单:SDWebImage是否支持这个概念?如果没有,还有另一种流行的现成方法吗?干杯

1 个答案:

答案 0 :(得分:5)

它不支持它,因为它通常是图像视图中的一个类别,但是自己添加该功能会非常简单。

假设您正在cellForItem...开始图像加载,那么您将在块之后添加一个调度,如果相同的单元格之后仍然具有相同的索引路径,那么只会启动加载秒。

我在做任何事情之前都会检查你是否有可测量的问题,但AFAIK SDWebImage(当然还有AFNetworking图像视图类别)会在收到新的URL请求时取消任何未完成的URL请求,因此你可能正在制作不必要的优化。