0

ドキュメントで答えが見つからないことについてNSOperation、いくつかの単純な疑問があります。GCD

最初の質問は、メモリ管理に関連しています。

NSOperationQueue に追加するメソッド用の Autorealease プールを作成する必要があるかどうかを知りたいです。NSOperations を使用せずに別のスレッドでメソッドを実行する場合と同様です。

次の質問はNSOperation、 が GCD を処理するのか、それとも手動で行う必要があるのか​​ということです。

ご協力ありがとうございました!

4

2 に答える 2

1

ここであなたの質問を見たところ、あなたが興味を持っているかもしれない Apple dev フォーラムに投稿があります。 NSOperationQueue が自動的にプールを自動解放します。

また、NSOperationQueue のドキュメントも明らかに更新/修正する必要があります。iOS 4 以降を実行しているデバイスでは、クラス リファレンス ドキュメントに記載されているにもかかわらず、NSOperationQueue は GCD を使用します。

于 2011-03-22T22:54:14.980 に答える
0

ドキュメントによると、NSOperation のメソッドで NSAutoreleasePool を作成する必要がmainあります。NSInvocationOperation と NSBlockOperation のドキュメントでは、自動解放プールを作成するかどうかが指定されていないため、安全のために、これらのクラスも使用するときに作成することをお勧めします。

NSOperationQueue は操作のキューイングと実行を処理するため、操作キューに関連するタスクのために GCD をいじる必要はありません。

于 2011-03-20T01:13:59.510 に答える