Jac*_*ins 0 iphone multithreading objective-c nsautoreleasepool ios
我有这个代码:
NSNumber *num;
NSAutoreleasePool *apool = [[NSAutoreleasePool alloc] init];
for (int i=0; i<images_count; i++) {
num = [NSNumber numberWithInt:images_count];
[self performSelectorInBackground:@selector(loadData:) withObject:num];
}
[apool release];
[num release];
Run Code Online (Sandbox Code Playgroud)
它会生成以下错误:
2011-06-17 03:10:30.768 CHARLIE [2456:6c03] * __NSAutoreleaseNoPool():类__NSArrayI的对象0x703d0f0自动释放,没有池到位 - 只是泄漏
我不明白为什么泄漏,请有人请解释如何解决这个问题?
非常感谢,
插口
该代码存在一些问题.
缺少自动释放池可能是因为该loadData:方法在没有自动释放池的情况下运行.
这[num release]是胡说八道.
每次迭代该循环产生一个线程几乎可以保证是并行化图像加载的最低性能方法.