2013-07-24 37 views
1

所以,下載和顯示我以前做的是這樣一個形象:的iOS:未發佈的調度隊列

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

+0

我記得讀書的地方,我們不應該用戶dispatch_get_global_queue,無論出於何種原因 –

+0

然後我更新了答案,您可以使用此替代方案 –

+0

感謝您的鏈接,但我已經知道異步imageview實現那裏,我的問題只是針對使用dispatcH_async和處理dispatch_queues的原則 –

相關問題