android - handler的sendMessage()和handleMessage()能不能都在主线程,如果可以,那这样做有必要么?
高洛峰
高洛峰 2017-04-17 17:16:30
0
11
1701
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(11)
刘奇

핸들러는 주로 비동기 메시지 처리에 사용됩니다.
모두 메인 스레드에 있다면 개인적으로는 필요하지 않다고 생각합니다

洪涛

분명히 가능하지만 필요한지 여부는 개인 습관에 따라 다릅니다.

阿神

모두 메인 스레드에 있을 수 있으며 일부 연결을 수행할 때 사용할 수도 있습니다.

刘奇
  1. 그렇습니다.

  2. 업종에 따라 필요한지 여부만 알 수 있습니다. 필요없다고 해야되나, 저를 비판하려면 큰 기사를 쓰셔야 합니다

伊谢尔伦

대답은 '그렇다'입니다. 교육을 위한 간단한 데모가 이렇게 작성되는 경우가 많지만 일반적으로 프로젝트에서는 작성되지 않습니다.

Peter_Zhu

핸들러는 스레드 간 통신에 사용되며 물론 메인 스레드와 메인 스레드 사이에는 문제가 없습니다

하지만 개인적으로 Handler를 사용하는 것은 너무 수동적이고 번거롭고 제한 사항이 많다고 생각합니다. 새 스레드에서 작업을 수행하고 이를 메인 스레드에 게시해야 한다면 AsyncTask 또는 RxAndroid를 사용해 보는 것은 어떨까요?

그렇지 않으면 메인 스레드이므로 메서드를 직접 호출하면 어떨까요?

刘奇

UI 업데이트의 리듬을 제어해야 하는 경우 이 로직을 사용할 수 있습니다

伊谢尔伦

확실합니다
정말로 귀하의 특정 요구 사항에 따라 달라질 필요가 있습니까

洪涛

주로 수요에 따라 가능합니다.

洪涛

Looper를 지정하지 않으면 기본 스레드가 기본 스레드입니다. 처리에 시간이 많이 걸리지 않는다면 모든 작업이 메인 스레드에 있는지는 중요하지 않습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿