Handler,Looper,Message,MessageQu

2017-03-22  本文已影响0人  JJYYZJY

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

上一篇 下一篇

猜你喜欢

热点阅读