美文网首页
Android 异步消息流程梳理

Android 异步消息流程梳理

作者: eagle006 | 来源:发表于2017-12-20 15:44 被阅读0次

    本文出自简书:eagle006,如需转载请标明出处,尊重原创谢谢

    博客地址:http://www.jianshu.com/p/9e4cc8668fca

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

    梳理一下异步消息处理的流程(Message、Handler、MessageQueue、Looper):

    首先需要在主程序中创建一个Handler对象,并重写handleMessage()方法。然后当子线程中需要进行ui操作时,就创建一个Message对象,并通过Handler将这条消息发送出去。之后这条消息会被添加到MessageQueue的队列中等待被处理,而Looper则会一直尝试从MessageQueue中取出待处理消息,最好分发回Handler的handleMessage()方法中。由于Handler是在主线程中创建的,所以此时handleMessage()方法中的代码也是在主线程中运行,so我们在这里可以安心地进行ui操作了

    相关文章

      网友评论

          本文标题:Android 异步消息流程梳理

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