简单的说下:
一个线程会有一个Looper,主线程会自动创建一个Looper对象和一个Message队列。其他线程需要手动去创建。一个looper负责维护一个Message队列,此looper不断的轮训该Message队列,获取信息,并处理。
handler大致是帮顶在looper上的一个处理类,调用该类的handleMessage方法去处理轮训到的Message。
Looper分为主线程Looper和一般的Looper,主线程Looper通过Looper.getMainLooper获得。在线程中使用一般的Looper时,通过调用myLooper()方法获得Looper对象,需要调用Looper.prepare()方法,这样线程就有了自己的Looper和Message队列了。
具体参考:
http://www.eoeandroid.com/forum-viewthread-tid-49595-highlight-looper.html
分享到:
相关推荐
在主线程即UI线程外,新建一个Looper线程,并用Messenger和Handler来处理message和posted runnable。程序中,在负线程中默认加了一个3s的线程等来,来帮助理解sent message和post runnable之间的同步机制。所以在按...
Android ,Handler,Looper,Message
通过自定义Handler、Looper、Message.浅析Android线程间通信原理
handler与looper及messagequeue的简单总结
Android 异步处理 Handler+Looper+MessageQueue深入详解
消息的类型,在Handler类中的handleMessage方法中得到单个的消息进行处理,在单线程模型下,为了线程通信问题,Android设计了一个Message Queue(消息队列), 线程间可以通过该Message Queue并结合Handler和Looper组件...
Android Handler Looper
Message,MessageQueue,Looper,Handler详解
对于Android的Message机制主要涉及到三个主要的类,分别是Handler、Message、Looper;首先对每个类做一个简单介绍;然后再介绍所谓的Android的Message机制是如何实现的,最后给了一个示例。
博客展示地址:http://blog.csdn.net/icedcap/article/details/20076615
主要介绍了深入Android Handler,MessageQueue与Looper关系,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
android源码中包含了...android的消息处理有三个核心类: Looper,Handler和Message。 其实还有一个Message Queue(消息队列) , 但是MQ被封装到Looper里面了, 我们不会直接与 MQ打交道, 因此我没将其作为核心类。
使用处理程序延迟主线程上的工作;...我们看到,一个Message经由Handler的发送,MessageQueue的入队,Looper的抽取,又再一次地回到Handler的怀抱中。而绕的这一圈,也正好帮助我们将同步操作变成了异步操作。
Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队,终由Handler处理。 Handler:处理者,负责Message的发送及处理。...Looper:消息泵,不断地从MessageQueue中抽取
android的消息处理有三个核心类:Looper,Handler和Message。其实还有一个MessageQueue(消息队列),但是Message被封装到Looper里面了,我们不会直接与Message打交道,因此我没将其作为核心类。下面一一介绍下: ...
Android中多线程的Handler的工作原理,其中涉及到MessageQueue和Looper。详情可以参见博客:http://www.cnblogs.com/plokmju/p/android_Looper.html
摘要视图订阅标签: Android分类:目录(?Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系95220人
Android Handler Message源码解析和手写实现
Android中的主线程由 looper 和 Handlers 组成。所以了解创建无阻碍的响应式 UI 很重要。 MessageQueue 是一个队列,其中包含消息任务。 Handler 在 MessageQueue 中以任务形式排队,Looper 在任务出现时执行它们...