handler.sendEmpityMessage();和handler.obtainMessage(1,data).sendToTarget();有什么不同
小伙看你根骨奇佳,潜力无限,来学PHP伐。
두 번째 방법은 보낸 메시지를 판단하고 다른 처리를 수행할 수 있습니다. 분류 처리가 필요하지 않은 경우 빈 메시지를 보내는 것으로 충분합니다.
소스코드를 보면먼저 sendEmptyMessage(int what)
sendEmptyMessage(int what)
다시 클릭sendEmptyMessageDelayed(what, 0)
sendEmptyMessageDelayed(what, 0)
sendEmptyMessageDelayed(int what, long delayMillis) 메서드에서 획득한 메시지 개체에 어떤 매개변수가 할당되었는지 확인할 수 있습니다.
sendEmptyMessageDelayed(int what, long delayMillis)
obtainMessage(1,data)
메서드가 반환됩니다Message.obtain(this, what, obj), 계속해서 살펴보세요obtain(this, what, obj)
Message.obtain(this, what, obj)
obtain(this, what, obj)
메서드의 메시지도 acquire를 통해 가져오지만 여기서는 obj 개체도 Message에 할당됩니다. sendToTarget() 소스 코드의 대상은 Handler입니다. 이는 sendMessage() 메서드
sendToTarget()
sendMessage()
sendEmptyMessage(int what)과 obtainMessage(int what, Object obj).sendToTarget()의 가장 큰 차이점은
obtainMessage(int what, Object obj).sendToTarget()
참고: Handler의 sendEmptyMessage(int what)와 sendMessage(Message msg)의 차이점은 무엇인가요? sendMessage 핸들러와 acquireMessage(sendToTarget) 비교
첫 번째는 빈 메시지를 보내는 것이고, 두 번째는 메시지 풀에서 메시지를 가져와서 보내는 것입니다.
다르지 않고 다양한 API를 제공하여 사용자의 습관에 맞게 사용할 수 있습니다
두 번째 방법은 보낸 메시지를 판단하고 다른 처리를 수행할 수 있습니다. 분류 처리가 필요하지 않은 경우 빈 메시지를 보내는 것으로 충분합니다.
소스코드를 보면
으아아아먼저
sendEmptyMessage(int what)
다시 클릭
으아아아sendEmptyMessageDelayed(what, 0)
sendEmptyMessageDelayed(int what, long delayMillis)
메서드에서획득한 메시지 개체에 어떤 매개변수가 할당되었는지 확인할 수 있습니다.
소스코드 보기 으아아아obtainMessage(1,data)
메서드가 반환됩니다
으아아아Message.obtain(this, what, obj)
, 계속해서 살펴보세요obtain(this, what, obj)
메서드의 메시지도 acquire를 통해 가져오지만 여기서는 obj 개체도 Message에 할당됩니다.
가 호출된다는 의미입니다. 으아아아 으아아아sendToTarget()
소스 코드의 대상은 Handler입니다. 이는sendMessage()
메서드
객체가 없다는 점입니다.sendEmptyMessage(int what)
과obtainMessage(int what, Object obj).sendToTarget()
의 가장 큰 차이점은
참고:
Handler의 sendEmptyMessage(int what)와 sendMessage(Message msg)의 차이점은 무엇인가요?
sendMessage 핸들러와 acquireMessage(sendToTarget) 비교
첫 번째는 빈 메시지를 보내는 것이고, 두 번째는 메시지 풀에서 메시지를 가져와서 보내는 것입니다.
다르지 않고 다양한 API를 제공하여 사용자의 습관에 맞게 사용할 수 있습니다