我在使用数据生成的图像视图中显示图像时遇到问题。
我的程序如下:
此代码在模拟器上工作正常,但是当我在iPhone上运行并选择一行时,第一个选择工作正常,然后所有相应的选择在显示图像时有明显的延迟..
这是我的代码:
- (void)viewDidLoad {
[super viewDidLoad];
//Display the selected events data
name.text = eventName;
date.text = eventDate;
description.text = eventDescription;
//Set the title of the navigation bar
self.navigationItem.title = eventName;
/* Operation Queue init (autorelease) */
NSOperationQueue *queue = [NSOperationQueue new];
/* Create our NSInvocationOperation to call loadDataWithOperation, passing in nil */
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
selector:@selector(loadDataWithOperation)
object:nil];
/* Add the operation to the queue */
[queue addOperation:operation];
[operation release];
}
//Threaded operation
- (void) loadDataWithOperation {
//Set the event image
UIImage *img = [UIImage imageWithData: eventImageURLData];
image.image = img;
}
有没有人知道这是什么造成的?
谢谢,
杰克
答案 0 :(得分:2)
模拟器没有内存限制,因此它很少标记低内存问题。因此,你正在泄漏NSOperationQueue
。我看到你已将它标记为自动释放但看不到自动释放消息。你应该解决这个问题。除此之外,您应该将图像更新代码发送到主线程。