handler.sendEmpityMessage();和handler.obtainMessage(1,data).sendToTarget();有什么不同
ringa_lee2017-04-17 17:22:17
2 番目のメソッドは、送信されたメッセージを判断して別の処理を実行できます。分類処理が必要ない場合は、空メッセージを送信するだけで十分です。
天蓬老师2017-04-17 17:22:17
ソースコードから
まずはsendEmptyMessage(int what)
もう一度クリックしてくださいsendEmptyMessageDelayed(what, 0)
sendEmptyMessageDelayed(int what, long delayMillis)
メソッドから
取得した Message オブジェクトにどのようなパラメータが割り当てられているかを確認できます
obtainMessage(1,data)
メソッドはMessage.obtain(this, what, obj)
を返し、その後はobtain(this, what, obj)
メソッド内の Message も get によって取得されますが、ここでは obj オブジェクトも Message に割り当てられます。 sendToTarget()
のソース コード内のターゲットは Handler です。これは、sendMessage()
メソッド
sendEmptyMessage(int what)
と obtainMessage(int what, Object obj).sendToTarget()
の最大の違いは、オブジェクト
参考:
ハンドラーのsendEmptyMessage(int what)とsendMessage(Message msg)の違いは何ですか?
ハンドラー sendMessage と getMessage (sendToTarget) の比較