我正在尝试编写一个从 URL 加载图像的 iPad 应用程序。我正在使用以下图像加载代码:
url = [NSURL URLWithString:theURLString];
NSData *data = [NSData dataWithContentsOfURL:url];
img = [[UIImage alloc] initWithData:data];
[imageView setImage:img];
[img release];
NSLog(@"Image reloaded");
所有这些代码都作为操作添加到 NSOperationQueue 中,因此它将异步加载,并且如果图像的网络服务器很慢,则不会导致我的应用程序锁定。我添加了 NSLog 行,这样我就可以在控制台中看到这段代码何时完成执行。
我一直注意到,在代码完成执行后大约 5 秒,图像会在我的应用程序中更新。但是,如果我自己使用此代码而不将其放入 NSOperationQUeue 中,它似乎几乎会立即更新图像。
延迟并不完全是由缓慢的网络服务器引起的......我可以在 Safari 中加载图像 URL,加载时间不到一秒钟,或者我可以使用相同的代码加载它而不使用 NSOperationQueue,它加载速度更快.
有什么方法可以减少我的图像显示之前的延迟但继续使用 NSOperationQueue?