我在我的应用程序中使用SDWebImage,它在WiFi和“良好”的3G连接上运行良好。然而,在慢速网络连接(例如,不良的3G)下,它总是无法下载图像,因为它看起来有10秒的超时限制。
我是否可以延长此类超时时间,以便下载在失败前花费更长时间?
我在SDWebImage标题上找不到任何'timeout'属性,我刚刚找到了一些硬编码的值,例如
NSMutableURLRequest *request = [NSMutableURLRequest.alloc initWithURL:url cachePolicy:(options & SDWebImageDownloaderUseNSURLCache ? NSURLRequestUseProtocolCachePolicy : NSURLRequestReloadIgnoringLocalCacheData) timeoutInterval:15];
在我使用SDWebImage之前,我的低端用户能够成功下载图像(只需等待一下),现在下载总是失败。 (我使用'http://mschrag.github.io'来模拟慢速网络状况)
答案 0 :(得分:3)
我提交了一个将downloadTimeout
属性添加到SDWebImageDownloader
类的更改。 See pull request #591。在撰写本文时,看起来拉动请求已被接受并合并为“主”。希望能为你解决问题。
答案 1 :(得分:1)
检查
SDWebImageManager *manager = [SDWebImageManager sharedManager];
manager.imageDownloader.downloadTimeout = 60.0;
并添加选项
SDWebImageRetryFailed
答案 2 :(得分:0)
这是快速开发人员的解决方案
SDWebImageDownloader.shared.config.downloadTimeout = 300