我一直在研究缓慢滚动性能,并且注意到当我滚动时,如果使用非缓存图像调用 setImage
函数,则性能会受到下载时间的影响。
if let imageURL = URL(string: presentable.imageUrl) {
let resource = ImageResource(downloadURL: imageURL)
photoView.kf.setImage(with: resource, options: [.transition(.fade(0.2))])
}
我的理解是,翠鸟(Kingfisher)在后台线程上下载这些内容,然后在主线程上显示它们,但是主线程似乎暂时被阻塞了。删除
.transition
并不能改善情况。有什么想法可以提高滚动性能吗?谢谢。
backgroundDecode
选项。试试看。 - Ryan