文件名称:Android单线程模型中Message、Handler、Message Queue、Looper之间的关系---附实例源码
文件大小:982KB
文件格式:RAR
更新时间:2016-07-29 08:33:11
Message Handler Message Queue Looper
四者之间的关系: Handler获取当前线程中的looper对象,looper用来从存放Message的MessageQueue中取出Message,再有Handler进行Message的分发和处理. 简单定义: 1、Message Queue(消息队列): 用来存放通过Handler发布的消息,通常附属于某一个创建它的线程,可以通过Looper.myQueue()得到当前线程的消息队列. 2、Handler: 可以发布或者处理一个消息或者操作一个Runnable,通过Handler发布消息,消息将只会发送到与它关联的消息队列,然也只能处理该消息队列中的消息. 3、Looper: 是Handler和消息队列之间通讯桥梁,程序组件首先通过Handler把消息传递给Looper,Looper把消息放入队列。Looper也把消息队列里的消息广播给所有的Handler:Handler接受到消息后调用handleMessage进行处理. 4、Message: 消息的类型,在Handler类中的handleMessage方法中得到单个的消息进行处理,在单线程模型下,为了线程通信问题,Android设计了一个Message Queue(消息队列), 线程间可以通过该Message Queue并结合Handler和Looper组件进行信息交换。 博客链接:http://blog.csdn.net/a13429921973/article/details/9281569
【文件预览】:
HandlerDemo
----AndroidManifest.xml(881B)
----res()
--------layout()
--------drawable-ldpi()
--------menu()
--------drawable-mdpi()
--------values-sw600dp()
--------drawable-hdpi()
--------values-sw720dp-land()
--------drawable-xhdpi()
--------drawable-xxhdpi()
--------values()
----src()
--------andieguo()
----proguard-project.txt(781B)
----bin()
--------classes()
--------dexedLibs()
--------AndroidManifest.xml(881B)
--------res()
--------HandlerDemo.apk(192KB)
--------classes.dex(443KB)
--------resources.ap_(40KB)
----.classpath(364B)
----assets()
----project.properties(562B)
----ic_launcher-web.png(50KB)
----libs()
--------android-support-v4.jar(384KB)
----.project(847B)
----gen()
--------andieguo()