1

コア アニメーションはバックグラウンド スレッドを使用します。メイン スレッドで負荷の高い計算を実行すると、優先度の低いスレッドが原因で CA のアニメーションが停止します。このような状況でオペレーション キューはどのように役立つのでしょうか?

4

1 に答える 1

0

NSOperationQueue にはスレッドの優先度を指定する方法がないようです。一般に、NSOperationQueue はシステムで何が起こっているかを把握しており、それを考慮しているように見えますが、CA スレッドを尊重することは文書化されていません。

常にバックグラウンド計算を実行する必要がある場合は、独自のスレッドを開始し、経験的に CA よりも低い優先度を設定するのが最善の策ですが、これも文書化されておらず、システムのバージョン間で変更される可能性があります。

もう 1 つのオプションは、CA アニメーションを独自のコードへの呼び出しでラップして、バックグラウンド計算を一時停止することです。

于 2009-11-09T11:17:52.550 に答える