阿神2017-04-17 17:58:13
実装原則の点では、runOnUiThread
も Handler
の助けを借りて実装されます。
使用シナリオの場合、runOnUiThread
は使いやすく、同じ Handler
を共有するため、効率的で使いやすくなります。また、メインスレッド内で直接呼び出された場合、runOnUiThread
をメッセージキューにプッシュせずに即座に判定して実行することもできます。
と Handler
は、runOnUiThread
よりも基本的なため、マーキングや遅延などの機能を実装でき、メイン スレッドの代わりに他のメッセージ ループ スレッドをプッシュできます。
PHP中文网2017-04-17 17:58:13
runOnUiThread は、Runnable オブジェクトを Message に直接カプセル化し、実行のためにメイン スレッドの Looper に渡します。実行コードは次のとおりです:
リーリーHandler が同じ効果を得たい場合は、まず Handler によってバインドされる Looper がメインスレッドの Looper である必要があります。これは Looper.getMainLooper() を通じて取得できます。次に、実行可能なオブジェクトもポスト経由で送信します。
本質的には違いはありません。