0
这就是cuestion,我有:处理程序是否使用绑定线程如果我使用anoter活动的处理程序?
- 活动A
- 活动B
从我想与B通信,然后我用基于B创建的处理程序做这样:
ActivityB.handlerB.sendMessage(msg);
那么我不知道是否会使用ActivityA线,或者ActivityB线程。
为了让ActivityB Thread做好工作,它做得好吗?
这就是cuestion,我有:处理程序是否使用绑定线程如果我使用anoter活动的处理程序?
从我想与B通信,然后我用基于B创建的处理程序做这样:
ActivityB.handlerB.sendMessage(msg);
那么我不知道是否会使用ActivityA线,或者ActivityB线程。
为了让ActivityB Thread做好工作,它做得好吗?
除非ActvityB使用非默认的Looper创建了handlerB,否则所有发送到handlerB的消息都只会在与handlerB创建的同一个线程上传递它们的消息。
因此,例如,如果ActivityB以非常典型的方式从活动事件回调中创建处理程序,则handlerB会将其消息传递到默认UIadd。
所以,如果ActivityB作出这样的,ActivityA是安全地调用handlerB.sendMessage():
public class ActivityB extends Activity {
Handler handlerB;
public void onCreate(Bundle bundle) {
this.handlerB = new Handler() {
public void handleMessage(Message message) {
;; // Do something
}
};
}
}
因此,对于大多数情况下,你的答案是:是的。
+1&✓。好回答,快捷。 –