UICollectionView和SDWebImage在滚动浏览大量图像时崩溃

时间:2017-10-24 16:38:22

标签: objective-c iphone uicollectionview sdwebimage

我们有一个基于iOS 10 SDK的应用程序。它在UICollectionView中呈现图像,并使用SDWebImage框架加载图像。它运行良好,但是用户报告说,当在UICollectionView中向后和向前滚动图像时,应用程序会不时突然崩溃。

我们终于能够在iPhone 6设备上重现错误,移动数据连接速度降至3G。

会发生什么: 在通过图像快速上下滚动的同时,比从服务器加载的速度更快,应用程序突然崩溃回到iOS桌面。这可能会在一段时间后很快发生,或者有时根本不会发生 - 非常不一致。

到目前为止我们做了什么:

  • 使用仪器检查泄漏,内存消耗稳定,并且常常在200Mb左右。
  • 没有调用didReceiveMemoryWarning
  • 我们使用CrashLytics来检测崩溃和异常,没有记录任何内容。
  • 控制台或调试器未指出任何错误且没有异常,Xcode只是报告在应用程序崩溃时丢失了与手机的连接。

有人可以建议采取进一步排查的方法吗?

的Stefan

1 个答案:

答案 0 :(得分:0)

我与SDWebImage有类似的问题。对我来说,这是因为我让SDWebImage一次加载太多图像。添加后

- (void)prepareForReuse
{
    [self.imageView sd_cancelCurrentImageLoad];
}

问题消失了。