0

一部の情報を処理する別のスレッドがあり、実行中に何かが発生した場合にユーザーにエラーを知らせる必要があるため、現在、ダイアログを作成してユーザーに知らせるために runOnUIThread() を呼び出しています. 私の質問は、それが正確にいつ起こるかということです。runOnUIThread() の命令は、呼び出されるとすぐに実行されますか?それとも、UI スレッドが現在実行していることを最初に完了するのを待ちますか?

私はグラフィックスを使用し、画面を定期的に更新するために、UI スレッドがループによって占有され、画面を更新して再描画するため、私が知っている限り尋ねています。

4

1 に答える 1

7

runOnUIThread() の命令は呼び出されるとすぐに実行されますか?

いいえ。

それとも、UI スレッドが現在行っていることを最初に終了するのを待ちますか?

ある程度、それさえありません。メイン アプリケーション スレッド (別名、UI スレッド) にはワーク キューがあります。あなたをそのキューにrunOnUiThread()投稿します。がキューの先頭に到達すると実行されますRunnableRunnableしたがって、いつRunnable実行されるかは、そのキューのサイズによって異なります。

于 2015-03-25T22:06:39.323 に答える