SDWebImage - SDWebImagePrefetcher 不使用 transformDownloadedImage
SDWebImage - SDWebImagePrefetcher not using transformDownloadedImage
我目前成功地使用 'SDWebImageManager downloadImageWithURL' 下载单个图像,然后在完成后自动调用委托方法 'transformDownloadedImage' 在缓存图像之前调整图像大小。
但是,我想在后台以类似的方式使用下面的预取程序代码预取一堆尚未显示的图像 (~25)。然而,问题是 'transformDownloadedImage' 委托在完成(1 个或所有图像)时未被调用 - 图像按原样缓存。
SDWebImagePrefetcher *prefetcher = [SDWebImagePrefetcher sharedImagePrefetcher];
[prefetcher prefetchURLs:array progress:nil completed:^(NSUInteger completedNo, NSUInteger skippedNo) {
}];
我错过了什么吗?或者是否有其他有效的方法通过在完成、调整大小和重新插入时拉出缓存的图像来做到这一点?我正在使用 "UIImage+Resize" 来调整大小和操作,显然这需要在后台发生而不阻塞 UI。
我们将不胜感激任何有关如何有效地进行此操作的建议!
如果您查看 SDWebImagePrefetcher
的实现,您会注意到它使用 SDWebImageManager
来执行下载,并且可以作为 属性 使用。所以你应该能够做这样的事情:
prefetcher.manager.delegate = self;
现在您可以像以前一样实现 downloadImageWithURL
委托方法。我没试过,但应该可以。
我目前成功地使用 'SDWebImageManager downloadImageWithURL' 下载单个图像,然后在完成后自动调用委托方法 'transformDownloadedImage' 在缓存图像之前调整图像大小。
但是,我想在后台以类似的方式使用下面的预取程序代码预取一堆尚未显示的图像 (~25)。然而,问题是 'transformDownloadedImage' 委托在完成(1 个或所有图像)时未被调用 - 图像按原样缓存。
SDWebImagePrefetcher *prefetcher = [SDWebImagePrefetcher sharedImagePrefetcher];
[prefetcher prefetchURLs:array progress:nil completed:^(NSUInteger completedNo, NSUInteger skippedNo) {
}];
我错过了什么吗?或者是否有其他有效的方法通过在完成、调整大小和重新插入时拉出缓存的图像来做到这一点?我正在使用 "UIImage+Resize" 来调整大小和操作,显然这需要在后台发生而不阻塞 UI。
我们将不胜感激任何有关如何有效地进行此操作的建议!
如果您查看 SDWebImagePrefetcher
的实现,您会注意到它使用 SDWebImageManager
来执行下载,并且可以作为 属性 使用。所以你应该能够做这样的事情:
prefetcher.manager.delegate = self;
现在您可以像以前一样实现 downloadImageWithURL
委托方法。我没试过,但应该可以。