このメッセージを送信して、保留中のすべてのUIイベントがあった場合にセレクタを実行するように指定する方法はありますか?つまり私のaterDelayタイマーにイベントキューの優先度を下げてください。perfomSelector:withObject:afterDelay:私は低い優先度を求めることができますか?
答えて
直接ではありません。 performSelector:withObject:afterDelay:
を使用する場合、メインスレッドでセレクタが実行されるため、現在のすべての「保留中の」UIイベントが実行された後に定義されますが、これはスクロールまたはアニメーションの途中にある可能性があります1つの連続したイベントとみなされますが、実際には何百もの独立したイベントです。
ただし、performSelectorInBackground:withObject:
を使用して類似の方法を実行し、呼び出すメソッドで[NSThread setThreadPriority:0.01]
を呼び出すことができます。 UI呼び出しを行うことができないように、バックグラウンドスレッドを開いているので注意してください。ただし、これにより、メインのUIスレッドよりも優先度の低いバックグラウンドスレッドで作業を行うことができます。
実際には、performSelector:withObject:afterDelay:
はメインスレッドで必ずしも発生する必要はありません。そのために別の方法がありますperformSelectorOnMainThread:withObject:waitUntilDone:
。 performSelector:withObject:afterDelay:
のドキュメントは
が遅延した後、デフォルトのモードを使用して現在スレッド上のレシーバのメソッドを呼び出しますと言います。
あなたがバックグラウンドでタスクを実行したい場合は、あなたのタスクを実行する新しいスレッドを起動し、応答性のUIを残している、+[NSThread detachNewThreadSelector:toTarget:withObject:]
に見えるかもしれません。別のスレッドを使用して長時間実行するタスクを実行すると、UIがロックされる可能性がありますが、一般的には良い考えですが、複雑さが増します。あなたがスレッディングに慣れていないなら、意味をなさないバグに終わるかもしれません。
上記のコメントでは、アニメーションがUIが応答しなくなることがあると思われると述べています。組み込みのアニメーションサポート(Core AnimationまたはCocoaラッパーの1つ)を使用している場合、アニメーションによってUIが応答しなくなることはありません。応答しないUIとは、実行ループがサービスUIイベントに戻る前に、プログラムがメインスレッドで多くの作業を行っていることを意味します。
- 1. スカラの優先順位が低く優先度が低い
- 2. 10進数値が大きいほどプロセスの優先度が高いか優先度が低いことを意味しますか?
- 3. Git Towerホットキー(低優先度)
- 4. 低優先度Express.js app.get( '/ route');
- 5. 優先度の低いバックグラウンドスレッドを実現するためのパターン?
- 6. 優先度の低いスレッド/プロセスでOracleインデックスを作成できますか?
- 7. メインスレッドで優先度の低いタスクをスケジュールします
- 8. Firebaseデータを優先度(最低から最高)で取り出すことはできませんか?
- 9. 優先度の逆転では、なぜ優先度の高いプロセスが中優先度のプロセスを先取りできないのですか?
- 10. 優先度ツリーは、vがuの子であるときはいつでも優先度(u)≥優先度(v)であるバイナリツリーです。
- 11. メインスレッドの優先度を設定することはできますか?
- 12. VxWorksで低優先度タスクを実行する方法
- 13. スレッドでスレッドの優先度を低くする
- 14. 最低優先度のコアでスレッドを実行する
- 15. Webワーカーを低優先度に設定する方法はありますか?
- 16. 常に優先度の低いスレッドに制御を与える
- 17. nice()は、スレッドの優先度やプロセスの優先度を変更するために使用されますか?
- 18. 優先度キューで優先度を設定する方法
- 19. mysql - "read local"ロックと "低優先度"の挿入を使用
- 20. Android/JavaでLinuxコマンドを低優先度で実行する方法は?
- 21. スカラ、より低い優先順位でインポートしますか?
- 22. 優先度つきキューこのため<Integer>
- 23. .NETでのソケット通信の優先度を高めますか?
- 24. eclipseのタスクペインに優先度の低いタスクが表示されないようにすることはできますか?
- 25. ActiveMQ優先キューの低優先度メッセージが枯渇するのを防ぐにはどうすればいいですか?
- 26. Python:優先度として優先度キュー
- 27. レクサー優先度付きスペース
- 28. Erlangでプロセスの優先度を変更できますか?
- 29. インラインクラス優先度
- 30. 優先度の低いプロセスを起動するにはどうすればよいですか? C#
ありがとうございました。少なくとも私は赤ちゃんを追いかけていないことを知っています。アニメーションを抑制するために、UIが応答しなくなることがあるのではないかという疑念があるので、これから検討します。 –