欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

更新中。。。