iOS:未发布的调度队列

标签 ios objective-c release grand-central-dispatch

因此,为了下载和显示图像,我曾经做过类似的事情:

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);

最佳答案

你可以试试这个

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    // download image
     dispatch_async(dispatch_get_main_queue(), ^{
    //display image
    }
    }

或下载图片试试这个 AsyncImageView

关于iOS:未发布的调度队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17831081/

相关文章:

iOS 游戏 Controller 框架 : How to use "startWirelessControllerDiscoveryWithCompletionHandler"

ios - 如何在 -(NSString *)description 方法中显示数组的换行符\n?

objective-c - @interface : "expected identifier or {" and "Parse issue: Missing @end" 处的 appdelegate 错误

ios - 升级到 Xcode8 后 React Native RCCTCustomScrollView 损坏

.net - 如何在Release()上处置NET COM互操作对象

iphone - iOS 分发版和 APNs 生产版 iOS 配置文件之间有什么区别?

ios - 如果可用,将项目添加到特定 TableView 行

objective-c - 从 C++ 函数调用 Objective-C 方法?

maven - 卡住对 Maven 发布的传递依赖,以获得完全可重现的构建

Android Studio - 生成发布 apk "Error finalising cipher"