runOnUiThread
と の両方に出くわしHandlers
ますが、どの事実が正確に異なるのかについては、まだ疑問があるようです。
UI を更新する最良の方法は何でしょうか? またはを使用する必要がありますrunOnUiThread
かHandler
?
すでにリンクを通過しています。それでも違いを正当化することはできません。
前もって感謝します
runOnUiThread
と の両方に出くわしHandlers
ますが、どの事実が正確に異なるのかについては、まだ疑問があるようです。
UI を更新する最良の方法は何でしょうか? またはを使用する必要がありますrunOnUiThread
かHandler
?
すでにリンクを通過しています。それでも違いを正当化することはできません。
前もって感謝します
ハンドラーは、イベント キューを実装する優れた方法です。メインスレッドで実行する必要はありません。独自のルーパーを設定できます。RunOnUiThread は基本的にショートカットであるため、実際にハンドラーを開始する必要はありません。
ハンドラーは、それが宣言されている自分自身を登録します。またはルーパーを手動で設定することもできます。
ハンドラーは、複数回データをメインスレッドに投稿したい場合に特に便利です。
runOnUiThread は Activity のメソッドです。したがって、UI スレッドを更新する必要がある場合は、次の方法でコードを記述する必要があります。
runOnUiThread(new Runnable() {
@Override
public void run() {
// update the ui
}
});
したがって、再利用性はありません。
たとえば、ファイルのダウンロードのステータスを更新したいとします。上記のメソッドを複数回記述する必要があります。
ただし、Handler オブジェクトを使用すると、同じ Handler オブジェクトを使用して UI を複数回更新します。