1

因此,为了下载和显示图像,我曾经这样做过:

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

1 回答 1

1

你可以试试这个

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

或下载图片试试这个AsyncImageView

于 2013-07-24T10:27:15.187 回答