dataWithContentsOfURL和imageWithData采取的整体加载时间84%(da

2019-10-18 01:51发布

这两行了40%和42%(一起84%)的我的应用程序的整个加载时间。 我用仪器进行了测试。

NSData *storeImageData = [NSData dataWithContentsOfURL:storeImageURL]; //40% whole load time
UIImage *storeImage = [UIImage imageWithData:storeImageData]; //42% whole load time 

是否有其他/更好的办法来加快我的应用程序的加载时间? 这两条线和更大量的代码是在一个循环至极将循环500次左右。

注意
添加的“http://”后一贯的“www.blah.net”它开始是缓慢的。 有谁知道为什么在URL 7个字符(约30-50)减缓了装载时间,所以大规模下降。 之前,我改变了它,花了3秒。 现年37秒。

Answer 1:

这些替换你的线条,

 __block NSData *storeImageData;
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, NULL);
dispatch_async(queue, ^{
    //load url image into NSData
    storeImageData = [NSData dataWithContentsOfURL:storeImageURL];

    dispatch_sync(dispatch_get_main_queue(), ^{
        //convert data into image after completion
        UIImage *storeImage = [UIImage imageWithData:storeImageData];
        //do what you want to do with your image
    });

});
dispatch_release(queue);

欲了解更多信息,请参阅dispatch_queue_t



文章来源: dataWithContentsOfURL and imageWithData take 84% of the whole loading time