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

この行をWorkToBeDoneメソッドの先頭に追加することがわかりました。

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

そして最後にこれ:

[pool release];

私の問題を解決します。

于 2012-08-16T07:59:04.467 に答える