介绍一下Handler和HandlerThread的作用和用法

匿名网友 匿名网友 发布于: 2016-06-28 00:00:00
阅读 136 收藏 0 点赞 0 评论 0

Handler

Handler创建的那个线程会在构造函数里面调Looper.myLooper().然后会在Threadlocal里面找到当前线程的looper产生关联.

MessageQueue一个looper对应一个,looper在构造函数里面创建MessageQueue.

looper调用了looper就会循环在Message里面取消息

handler发送Message,massage的target会设置为发送它的handler,然后放进Messagequeue.最后被queue创建的线程的looper取出分发给handler的handlemessage()方法.

HandlerThread

HandlerThread的getLooper()方法保证一定可以拿到非空返回值.如果Looper还没创建就一直wait()

可以防止像子线程发消息的时候,子线程的handler创建的代码还没执行的情况.保证一定可以收到消息

评论列表
文章目录