美文网首页
android多线程学习系列1:异步消息处理机制

android多线程学习系列1:异步消息处理机制

作者: ambe_gzy | 来源:发表于2019-03-19 18:43 被阅读0次

    有时候我们需要根据子线程返回的数据更新UI界面,但是更新UI界面又不能在子线程中执行,这就需要我们使用异步消息处理。

    基本上不会用原生的代码,而用各种框架,如AsyncTask等。

    异步消息处理机制由4部分组成Message、Handler、MessageQueue、Looper

    Message:在线程之间传递消息,可以携带少量信息,用于在不同线程之间交换数据

    Handler:处理者的意思。主要用于发送和处理消息。通过Handler的sendMessage()方法发送信息,到达Handler的handleMessage()(需自己编写代码)中处理信息。

    MessageQueue:消息队列,主要用于存放所有通过Handler发送的消息。每个线程中只会有一个MessageQueue对象。

    Looper:Looper是每个线程中的MessageQueue的管家,调用Looper的loop()方法后,就回进入一个无限循环中,然后每当发现MessageQueue中存在一条消息,就会将它取出,并传递到Handler的handleMessage()方法中。每个线程中只会有一个Looper对象。查询MessageQueue中是否有消息。

    相关文章

      网友评论

          本文标题:android多线程学习系列1:异步消息处理机制

          本文链接:https://www.haomeiwen.com/subject/zfsnmqtx.html