1. 程式人生 > >一個Activity多個Handler時,Message是如何傳遞的(個人總結)

一個Activity多個Handler時,Message是如何傳遞的(個人總結)


作者:海岸線-haianxian 
來源:CSDN 
原文:https://blog.csdn.net/u010680097/article/details/52142396 
版權宣告:本文為博主原創文章,轉載請附上博文連結!

 

上面是作者的原文,看完後個人總結最重要的底層程式碼:

private boolean enqueueMessage(MessageQueue queue, Message msg, long uptimeMillis) {
    msg.target = this;
    if (mAsynchronous) {
        msg.setAsynchronous(true);
    }
    return queue.enqueueMessage(msg, uptimeMillis);
}
--------------------- 
作者:海岸線-haianxian 
來源:CSDN 
原文:https://blog.csdn.net/u010680097/article/details/52142396 
版權宣告:本文為博主原創文章,轉載請附上博文連結!

         msg.target = this  ,這一句是重點,當我們寫原始碼比如:

handler.sendEmptyMessage(8);

       當執行msg.target後,就會使handler作為msg的target屬性的值,賦給msg資訊,然後將這條資訊放到訊息佇列中了,這樣就標識了handler和msg的關係