iOS:未发布的调度队列
Posted
技术标签:
【中文标题】iOS:未发布的调度队列【英文标题】:iOS: unreleased dispatch queue 【发布时间】:2013-07-24 10:15:09 【问题描述】:因此,为了下载和显示图像,我曾经这样做过:
dispatch_async(dispatch_queue_create("bgQ", 0), ^
// download image
dispatch_async(dispatch_get_main_queue(), ^
// display iamge
);
);
但我意识到这样我并没有释放调度队列。 那么问题来了,我们需要单独声明队列以便稍后释放它还是可以在第一个示例中以某种方式释放队列?
我们需要这样做吗?:
dispatch_queue_t bgQ = dispatch_queue_create("bgQ", 0);
dispatch_async(bgQ, ^
// download image
dispatch_async(dispatch_get_main_queue(), ^
// display iamge
);
);
dispatch_release(bgQ);
【问题讨论】:
【参考方案1】:你可以试试这个
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^
// download image
dispatch_async(dispatch_get_main_queue(), ^
//display image
或下载图片试试这个 AsyncImageView
【讨论】:
我记得在某处看到我们不应该使用 dispatch_get_global_queue,无论出于何种原因 感谢链接,但我已经知道异步imageview的实现,我的问题只是针对使用dispatchH_async和处理dispatch_queues的原理 没关系,我记得建议不要使用 get_global_queue,而是 get_current_queue。感谢您的回答! 很高兴为您提供帮助@ZoltánMatók以上是关于iOS:未发布的调度队列的主要内容,如果未能解决你的问题,请参考以下文章