进行延迟加载时(UICollectionView的表),
为了获得正确的结果,当用户在集合上快速滚动时,您不应该开始下载。
因此,想象一下有 200 个面板的垂直卷轴,每个面板都有一个图像;屏幕上一次出现四到五个。
首次加载时,应开始加载前 4 个可见图像。如果向下滚动一点,新可见的图像应该开始加载。
但是如果用户:非常快速地向下滚动到(例如)位置 100,然后定位显示项目 100-104 的视图...理想情况下,您不应该开始加载用户快速“浏览”过的图像(例如,4 到99),只有当用户停止快速滚动并且在某些图像上明显停止或减慢时,您才应该开始下载。
所以,这是在任何高质量延迟加载滚动中必须做的标准事情。当用户浏览时,您不会开始加载。
我的问题很简单:SDWebImage 支持这个概念吗?如果没有,还有另一种流行的现成方法吗?干杯
它不支持它,因为它通常是图像视图上的一个类别,但您自己添加该功能将非常简单。
假设您开始加载图像cellForItem...
,您可以在块后添加一个调度,只有在同一单元格在 0.2 秒后仍然具有相同的索引路径时,该块才会启动负载。
不过,在做任何事情之前,我会检查您是否遇到了可测量的问题 - AFAIK SDWebImage(当然还有 AFNetworking 图像视图类别)将在收到新请求时取消任何未完成的 URL 请求,因此您可能会进行不必要的优化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)