OGeek|极客世界-中国程序员成长平台

标题: ios - SDWebImage NSURLRequests 间歇性失败 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 10:44
标题: ios - SDWebImage NSURLRequests 间歇性失败

我正在使用 SDWebImage 将图像从远程服务器加载到 UICollectionView 中,代码如下:

[myCell.imageView setImageWithURL:imgURL placeholderImage:nil options:SDWebImageRetryFailed success:^(UIImage *image)
 {
     [_imageCache storeImage:image forKey:[imgURL absoluteString] toDisk:YES];
 } failure:^(NSError *error){
     NSLog(@"ERROR: %@", error);
 }];

对于大多数单元格,此代码工作正常 - 它加载图像并将它们保存到我的本地磁盘。但是,在几张(似乎是随机的?)图像之后,它们会停止加载。然后我收到以下错误:

ERROR: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo=0x1d33fdc0 {NSErrorFailingURLStringKey=http://path/to/image.jpg, NSErrorFailingURLKey=http://path/to/image.jpg, NSLocalizedDescription=The request timed out., NSUnderlyingError=0x1d34c0f0 "The request timed out."}

发生这种情况时,我的应用似乎完全停止发送 NSURLRequests。一段时间后,大约 20-30 秒,我可以刷新表格,失败的图像将正确加载,应用程序将恢复对所有 NSURLRequests 的响应。

我发现如果我快速向下滚动我的收藏 View ,这种情况往往会更频繁地发生。会不会尝试一次下载太多?有没有办法限制并发下载的数量?此方法在最新的 SDWebImage 代码中似乎已被弃用。



Best Answer-推荐答案


想通了。我在我的应用程序的另一部分使用 MWPhotoBrowser。 MWPhotoBrowser 带有旧版/修改版的 SDWebImage。我从 Github 下载了最新版本的 SDWebImage,重命名/重构了所有文件,并将我新更新和修改的 SDWebImage 与 MWPhotoBrowser 所依赖的文件一起导入。

新版SDWebImage彻底解决了我的问题!

关于ios - SDWebImage NSURLRequests 间歇性失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16201858/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4