-5

runOnUiThreadと の両方に出くわしHandlersますが、どの事実が正確に異なるのかについては、まだ疑問があるようです。

UI を更新する最良の方法は何でしょうか? またはを使用する必要がありますrunOnUiThreadHandler

すでにリンクを通過しています。それでも違いを正当化することはできません。

前もって感謝します

4

3 に答える 3

1

ハンドラーは、イベント キューを実装する優れた方法です。メインスレッドで実行する必要はありません。独自のルーパーを設定できます。RunOnUiThread は基本的にショートカットであるため、実際にハンドラーを開始する必要はありません。

于 2016-09-07T10:24:36.527 に答える
1

ハンドラーは、それが宣言されている自分自身を登録します。またはルーパーを手動で設定することもできます。

ハンドラーは、複数回データをメインスレッドに投稿したい場合に特に便利です。

runOnUiThread は Activity のメソッドです。したがって、UI スレッドを更新する必要がある場合は、次の方法でコードを記述する必要があります。

       runOnUiThread(new Runnable() {

                @Override
                public void run() {
                    // update the ui

                }
            });

したがって、再利用性はありません。

たとえば、ファイルのダウンロードのステータスを更新したいとします。上記のメソッドを複数回記述する必要があります。

ただし、Handler オブジェクトを使用すると、同じ Handler オブジェクトを使用して UI を複数回更新します。

于 2016-09-16T10:16:40.920 に答える