Handler异步消息传递机制(五)一个Activity多个Handler时,Message是如何传递的
程序员文章站
2022-07-14 18:36:01
...
如果一个Activity有多个handler时候,怎样知道handler1发送的消息不会被handler2接收?
同理handler2发送的消息不会被handler1接收?
private boolean enqueueMessage(MessageQueue queue, Message msg, long uptimeMillis) {
msg.target = this;
if (mAsynchronous) {
msg.setAsynchronous(true);
}
return queue.enqueueMessage(msg, uptimeMillis);
}
我们看到在 enqueueMessage 方法里面有一个, msg.target = this; 这句话就是说我们通过 sendMesasge(msg) 一层一层的传递消息,最后这个 msg.target=this 就是把当前的这个 handler 标记给这个当前我们发送的 msg,然后再把这个打好标记的信息添加到消息队列中。
更新中。。。