0

要件の 1 つは、30 分ごとに NSTimer を実行するか、特定のアプリケーションの「状態」を 1 分ごとにポーリングするバックグラウンド スレッド/ジョブを実行することで実装できます。

しかし、このバックグラウンド ジョブが NSTimer と比較して CPU をどの程度消費するのか疑問に思っています。大きな違いがない場合は、バックグラウンド スレッド/ジョブを使用します。

ありがとう

4

1 に答える 1

0

スレッドは非常に軽量です。

実際、メイン スレッドで NSTimer ポーリングを実行してから、GCD を使用して、インライン ブロックを使用して (別のスレッドの) プライベート シリアル キューで実際の作業を実行できます。そうすれば、パフォーマンスを犠牲にすることなく、コードを非常に読みやすくすることができます。

NSTimer は正確なタイミング精度を保証しないことに注意してください。ただし、それは重要ではないと思います。

于 2012-06-21T06:18:25.817 に答える