我有这个代码:
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];
并生成以下错误:
2011-06-17 03:10.30.768 CHARLIE[2456:6c03]*__NSAutoreleaseNoPool():类__NSArrayI的对象0x703d0f0自动释放,没有池-只是泄漏
我不明白它为什么会漏水,有人能解释一下如何修理吗?
非常感谢
Jack
该代码有几个问题。
-
缺少自动释放池可能是由于
loadData:
方法在没有自动释放池的情况下运行。 -
[num release]
是无稽之谈。 -
在该循环的每次迭代中生成一个线程几乎可以保证是并行化图像加载的性能最低的方法。