初级
首先Handler的作用是线程间通信,为什么要用Handler呢,因为在子线程中是不允许操作UI的,我们平常一般会将耗时操作放到子线程中,而当子线程执行完最后需要更新UI的时候,需要借助Handler通知主线程更新UI。
中级
而说到Handler机制,涉及到三个概念,Handler、Looper、MessageQueue,handler将消息发送到消息队列,而Looper充当一个泵的角色,它以一个死循环的方式,一直在等待消息的到来,一有消息来的时候,它就进行一个统一的调度,然后将消息返还给handler处理,只有经过它的允许的消息才可以执行更新UI的操作。
网友评论