Handler,Looper,Message,MessageQueue原理

Handler

创建handler主要有两个构造,一个无参一个需要一个Looper

无参构造就会使用MainLooper

所以Handler中肯定有一个Looper

使用handler发送消息时

handler会把自己保存在Message中

然后把Message给Looper的MessageQueue

Looper会循环从MessageQueue中取出Message

调用Message中带的Handler方法来处理该消息

Looper会在线程中死循环,直到从MessageQueue中拿到一个空消息


Handler在哪个线程执行,取决于Looper属于哪个线程

每个线程只能有一个Looper

每个Looper只能有一个MessageQueue

可以多个handler共用一个Looper

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容