利用图形化方法结合源码分析理解与记忆Handler、Looper与MessageQueue之间的相互作用及关联
发布时间
阅读量:
阅读量
>[通过图解方式辅助源码学习,深入理解Handler、Looper与MessageQueue之间的关联]
浏览过诸多关于Handler、Looper以及MessageQueue之间联系的文章。然而,这些内容往往显得单调乏味,直接堆砌代码令人感到困扰。
随后我进行了整理,并绘制了一张示意图。先请查看这张图,之后我们再具体探讨它们之间的内在联系:

在该图示中,我采用了一个类比方式来进行说明:(这一点至关重要,建议仔细阅读多次)
MessageQueue 被比作流水线上的“履带”;
Looper 则相当于履带的“驱动轮”;
Handler 对应于流水线上的“工人”;
Message 则被看作是流水线上的“包裹”。
接下来,我们来阐述这三者之间的运作关系。首先需要明确一个基本原则:
每个线程只能拥有一个Looper,并且这个Looper只能对应一个Message。同时,一个Looper与MessageQueue的绑定关系可以对应多个Handler。(参见上图)
1. Looper与MessageQueue的关系
刚才提到
全部评论 (0)
还没有任何评论哟~
