我已经尝试谷歌搜索了一段时间,但没有找到任何明确的答案。我有一个应该监听多个UDP端口的Android软件。如果我没弄错的话,我必须为每个端口创建自己的线程。在端口接收数据后,应将其传递给UI线程。
经过一些研究后,我得出结论,我应该使用Handler为UI线程提供数据。但是,我对我需要多少处理程序感到困惑。每个线程是否需要自己的处理程序或单个共享一个?
对于某些背景信息,我正在尝试创建定时线程,每100ms检查一次收到的UDP数据包,并将其内容更新为UI线程的视图。
答案 0 :(得分:1)
我会在UI线程上创建一个Handler
并将该处理程序引用传递给每个线程(因此您只需要一个处理程序对象)。这样,由于处理程序是在UI线程上创建的,它的handleMessage
将在UI线程上执行 - 但要小心,通过handleMessage
处理的每条消息都可以非常快速地执行。