首页 > 代码库 > Android开发之Handler和Looper的关系
Android开发之Handler和Looper的关系
关于Handler的总结。
Message:消息,当中包括了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队,终由Handler处理。
Handler:处理者,负责Message的发送及处理。使用Handler时,须要实现handleMessage(Message msg)方法来对特定的Message进行处理,比如更新UI等。
MessageQueue:消息队列,用来存放Handler发送过来的消息,并依照FIFO规则运行。当然,存放Message并不是实际意义的保存,而是将Message以链表的方式串联起来的,等待Looper的抽取。
Looper:消息泵,不断地从MessageQueue中抽取Message运行。因此,一个MessageQueue须要一个Looper。
Thread:线程,负责调度整个消息循环,即消息循环的运行场所。
如图所看到的,Handler负责将数据压栈到Message队尾中,并从队头取出数据,而Looper负责从队列中进行循环取出,得到Handler的数据。注意Looper必须是UI的Looper,我们才干对UI界面进行更新!
Android开发之Handler和Looper的关系
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。