【问题标题】:SDWebImage - how to extend download timeoutSDWebImage - 如何延长下载超时
【发布时间】:2023-03-05 12:26:01
【问题描述】:

我在我的应用程序中使用 SDWebImage,它在 WiFi 和“良好”的 3G 连接上运行良好。但是在网络连接速度较慢(例如 3G 较差)的情况下,它总是无法下载图像,因为看起来有 10 秒的超时限制。

我可以延长这种超时时间,以便下载在失败之前需要更长的时间吗?

我在 SDWebImage 标头上找不到任何“超时”属性,我只是找到了一些硬编码值,例如

NSMutableURLRequest *request = [NSMutableURLRequest.alloc initWithURL:url cachePolicy:(options & SDWebImageDownloaderUseNSURLCache ? NSURLRequestUseProtocolCachePolicy : NSURLRequestReloadIgnoringLocalCacheData) timeoutInterval:15];

在我使用 SDWebImage 之前,我的低端用户能够成功下载图像(只需稍等一下),现在下载总是失败。 (我使用'http://mschrag.github.io'来模拟慢速网络状况)

【问题讨论】:

    标签: ios xamarin.ios timeout sdwebimage imagedownload


    【解决方案1】:

    我提交了一项更改,将downloadTimeout 属性添加到SDWebImageDownloader 类。 See pull request #591。在撰写本文时,看起来拉取请求已被接受并合并到“主”中。希望这可以为您解决问题。

    【讨论】:

      【解决方案2】:

      检查一下

      SDWebImageManager *manager  = [SDWebImageManager sharedManager];
      manager.imageDownloader.downloadTimeout = 60.0;
      

      并添加选项

      SDWebImageRetryFailed
      

      【讨论】:

        【解决方案3】:

        这里是 Swift 开发者的解决方案

        SDWebImageDownloader.shared.config.downloadTimeout = 300
        

        【讨论】:

        • 这可能会回答这个问题。但是,仅代码的答案不如记录代码或详细解释为什么此代码是问题的解决方案的答案有用。
        • 排序答案比描述更有效。排序答案比完美答案要好,最重要的是答案已被贬值,我付出了很多努力来找到这个解决方案,所以我认为它对人们有用
        猜你喜欢
        • 1970-01-01
        • 2022-01-01
        • 2015-09-20
        • 2015-02-16
        • 1970-01-01
        • 2018-03-19
        • 1970-01-01
        • 2017-08-02
        • 2012-02-08
        相关资源
        最近更新 更多