찾다

 >  Q&A  >  본문

android - Handler与runOnUiThread更新UI的区别

Handler与runOnUiThread更新UI有什么区别?
分别更适合在哪种情况下用?

PHP中文网PHP中文网2813일 전614

모든 응답(2)나는 대답할 것이다

  • 阿神

    阿神2017-04-17 17:58:13

    구현 원칙상 둘 사이에는 차이가 없습니다. runOnUiThreadHandler의 도움으로 구현됩니다.
    사용 시나리오의 경우 runOnUiThread는 사용이 간편하고 동일한 Handler을 공유하므로 효율적이고 편리하게 사용할 수 있습니다. 또한, 메인 스레드에서 직접 호출하면 runOnUiThread도 메시지 큐에 푸시하지 않고 바로 판단하여 실행할 수 있습니다.
    HandlerrunOnUiThread보다 더 기본적이므로 표시 및 지연과 같은 기능을 구현할 수 있으며 기본 스레드 대신 다른 메시지 루프 스레드를 푸시할 수 있습니다.

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-17 17:58:13

    runOnUiThread는 Runnable 객체를 메시지로 직접 캡슐화하고 이를 실행을 위해 메인 스레드의 Looper에 전달합니다. 실행 코드는 다음과 같습니다.

    으아악

    Handler가 동일한 효과를 얻으려면 먼저 Handler에 바인딩된 Looper가 Looper.getMainLooper()를 통해 얻을 수 있는 메인 스레드의 Looper여야 합니다. 그런 다음 게시를 통해 실행 가능한 개체도 보냅니다.

    본질적으로는 차이가 없습니다.

    회신하다
    0
  • 취소회신하다