0

我第一次在 iPhone 应用程序中使用 UIActivityIndi​​catorView,以便让用户知道某个进程正在进行中。为此,我使用了 detachNewThreadSelector 方法(也是第一次)。

我最终得到这样的代码:

[myActivityIndicator startAnimating];
[NSThread detachNewThreadSelector:@selector(theWorkToBeDone:) toTarget:self withObject:myObject];

问题是,当我对应用程序计时。与不使用 UIActivityIndi​​catorView 和 detachNewThreadSelector 相比,使用上面的代码执行任务所需的时间大约是 5 倍。(在这种情况下,用户仍然等待,但时间更短)。

在使用 UIActivityIndi​​catorView 时,这种时间差异是我应该期待的吗?

还是由于我对 UIActivityIndi​​catorView 和 detachNewThreadSelector 缺乏经验而犯了一些初学者错误?

感谢您提供任何信息。

4

1 回答 1

0

我刚刚发现在 theWorkToBeDone 方法的开头添加了这一行:

NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];

最后是这个:

[pool release];

解决了我的问题。

于 2012-08-16T07:59:04.467 回答