Handler异步消息传递机制(五)一个Activity多个Handler时,Message是如何传递的

如果一个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,然后再把这个打好标记的信息添加到消息队列中。

更新中。。。

猜你喜欢

转载自blog.csdn.net/YuDBL/article/details/107774689
今日推荐