この関数を使用してスレッドを実行するコード サンプルがありますrunOnUiThread
。なぜ、いつ使用する必要があるのでしょうか?
編集
AsyncTask
クラスを使用するにはどうすればよいですか?pros
とcons
??
この関数を使用してスレッドを実行するコード サンプルがありますrunOnUiThread
。なぜ、いつ使用する必要があるのでしょうか?
AsyncTask
クラスを使用するにはどうすればよいですか?pros
とcons
??
runOnUiThread()
非 UI スレッドから UI を更新する場合に使用する必要があります。たとえば、バックグラウンド スレッドから UI を更新する場合。Handler
同じものにも使えます。
ドキュメントから -
指定されたアクションを UI スレッドで実行します。現在のスレッドが UI スレッドの場合、アクションはすぐに実行されます。現在のスレッドが UI スレッドでない場合、アクションは UI スレッドのイベント キューにポストされます。
構文 -
Activity_Name.this.runOnUiThread(new Runnable() {
@Override
public void run() {
// your stuff to update the UI
}
});
アップデート -
AsyncTask -
その場合に UI をブロックする何かを実行したい
Network operation
場合は、AsyncTask が最適なオプションです。を使用できるのと同じバックグラウンド オペレーションを実行する方法は他にもいくつかありますService
。また、バックグラウンド オペレーションを実行する方法もありますIntentService
。AsyncTask を使用すると、UI 作業を行うのに役立ち、バックグラウンド操作が実行されるまで UI をブロックしません。
ドキュメントから -
AsyncTask を使用すると、UI スレッドを適切かつ簡単に使用できます。このクラスを使用すると、スレッドやハンドラーを操作することなく、バックグラウンド操作を実行し、UI スレッドで結果を発行できます。
スレッドから更新するuserinterface
には、を使用する必要がありますrunOnUiThread
。しかし、使用するasynctask
よりも使用する方が優れていrunonuithread
ます。android-runonuithread-vs-asynctaskこのリンクはあなたを助けることができます