【发布时间】:2012-03-10 21:29:07
【问题描述】:
我正在为ios 进行调整(显示来自网络的一些图像)并且我正在尝试使用NSOperationQueue。
首先我在主线程上运行了一些代码来看看它的样子。显示每张图像持续 ±5 秒(UI 冻结)。
然后我尝试使用NSOperationQueue 运行相同的代码,但每个图像持续了 +10 秒(好在 UI 没有冻结)。
有任何想法吗?就这样吗?
【问题讨论】:
-
如何下载图片?您使用的是 initWithContentsOfURL 还是类似的方法?
-
我正在这样做:NSURL* url= [NSURL URLWithString:[_HTMLPage substringWithRange:range]]; NSData * imageData = [NSData dataWithContentsOfURL:url]; _image = [UIImage imageWithData:imageData];
-
当您在主线程上加载所有图像时,集体下载时间约为 5 秒,使用操作队列时集体下载时间约为 10 秒?
-
我正在加载多个图像,但一次加载 1 个。每次用户触摸按钮时,它都会再加载 1 个,依此类推。但是,是的,从网络获取图像并将其放在主线程上的 uiimageview 上需要 ±5 秒,在 NSOperationQueue 上执行此操作需要 +10 秒
-
(在 OperationQueue 的情况下)您如何更新您的 imageView?下载图片后,您是否调用 performSelectorOnMainThread 来更新 imageView?
标签: iphone ios xcode nsoperationqueue