从主线程中删除 AlamofireImage responseImage
Posted
技术标签:
【中文标题】从主线程中删除 AlamofireImage responseImage【英文标题】:Remove AlamofireImage responseImage from main thread 【发布时间】:2016-12-28 21:10:05 【问题描述】:简单地说,我正在尝试使用AlamofireImage
在服务器上下载图像,似乎负责此操作的 DataRequest 扩展返回主线程上的内容。
这是有问题的,因为它在继续处理时不可避免地会锁定 UI。
见附图,断点暂停主线程的执行(左侧)
如何迁移此 DataRequest 以使用非主操作队列?
【问题讨论】:
或许@cnoon 能提供一些见解? 我认为过滤器功能是锁定主线程的东西。我认为您应该尝试在不同的线程上应用过滤器。祝你好运! 是的,这是罪魁祸首。虽然这不能回答完整的问题,但我希望在子线程上拥有整个 responseImage 回调。 @timaktimak 【参考方案1】:我在 responseImage 函数中添加了一个可选的队列参数,以便可以使用任意的DispatchQueue
来运行completionHandler
。
这是叉子:
pod 'AlamofireImage', :git => 'https://github.com/timaktimak/AlamofireImage.git', :branch => 'master'
编辑:它已被合并,因此 AlamofireImage 现在具有在自定义 DispatchQueue
上调用完成块的功能。
希望对你有帮助!
【讨论】:
以上是关于从主线程中删除 AlamofireImage responseImage的主要内容,如果未能解决你的问题,请参考以下文章