1. Message
消息,理解为线程间通讯的数据单元。例如后台线程在处理数据完毕后需要更新UI,则可发送一条包含更新信息的Message给UI线程。
2. Handler
Handler是Message的主要处理者,负责将Message添加到消息队列以及对消息队列中的Message进行处理。
3. Looper
循环器,扮演Message Que...
分类:
移动开发 时间:
2015-01-25 13:58:10
阅读次数:
170
4.3 Android线程间的通信—消息机制在Android程序运行中,线程之间或者线程内部进行信息交互时经常会使用到消息,如果我们熟悉这些基础的东西及其内部原理,将会使我们的Android开发变的更加容易,从而更好地架构系统。下面,就让我们来看看Android中的消息机制到底是怎样一回事吧。4.3.1消息的传递—Handler的使用在Android中,线程之间进行信息交互时经常会使用消息,那么,...
分类:
移动开发 时间:
2015-01-24 11:45:41
阅读次数:
166
4.3.2Android中消息机制的详细分析下面,我们就来详细分析一下Android中的消息机制。熟悉Windows编程的朋友知道Windows程序是消息驱动的,并且有全局的消息循环系统。Google参考了Windows的消息循环机制,也在Android系统中实现了消息循环机制。Android通过Looper、Handler来实现消息循环机制。Android的消息循环是针对线程的,每个线程都可以有...
分类:
移动开发 时间:
2015-01-24 11:45:16
阅读次数:
241
参考教程:iMooc关于Handler,http://www.imooc.com/learn/267参考资料:Google提供Android文档Communicating with the UI ThreadHandler的作用: Android开发中不允许UI主线程之外的线程更新,那么在主线程下....
分类:
移动开发 时间:
2015-01-23 22:52:15
阅读次数:
180
1、 概述Handler 、 Looper 、Message 这三者都与Android异步消息处理线程相关的概念。那么什么叫异步消息处理线程呢?异步消息处理线程启动后会进入一个无限的循环体之中,每循环一次,从其内部的消息队列中取出一个消息,然后回调相应的消息处理函数,执行完成一个消息后则继续循环。若...
分类:
移动开发 时间:
2015-01-23 21:26:37
阅读次数:
350
1.一个Handler只有一个队列;2.在调用Handler.post(Runnablerunnable)方法时,会将runnable封装成一个Message;3.在队列执行时,会判断当前的Message里是否封装了Runnable,如果封闭了,就直接执行Runnable,如果没有,将当前的Mess...
分类:
其他好文 时间:
2015-01-23 19:41:45
阅读次数:
133
使用原因 iOS开发中我们会遇到程序抛出异常退出的情况,如果是在调试的过程中,异常的信息是一目了然,但是如果是在已经发布的程序中,获取异常的信息有时候是比较困难的。好处与缺点 iOS提供了异常发生的处理API,我们在程序启动的时候可以添加这样的Handler,这样的程序发生异常的时候就可以对...
分类:
移动开发 时间:
2015-01-23 15:53:35
阅读次数:
290
http://my.oschina.net/astute/blog/119250?p=1在看ranch user guide的过程中,发现实现protocol handler需要使用特殊的gen_server形式,也就是enter_loop函数调用,事例代码如下:?12345678910111213...
分类:
其他好文 时间:
2015-01-23 12:42:09
阅读次数:
362
用途 职责链模式 (Chain Of Responsibility) 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 职责链模式是一种行为型模式。结构 图-职责链模式Handler : 定义一个处...
分类:
编程语言 时间:
2015-01-22 14:58:11
阅读次数:
279
延迟执行PostDelayed本文地址:http://blog.csdn.net/caroline_wendyAndroid程序中,使用postDelayed()方法,表示,在一段时间之后,执行新的线程,即可以达到一段特定程序延迟执行的目的。使用: // 延迟15秒
new Handler().postDelayed(new Runnable() {
...
分类:
移动开发 时间:
2015-01-22 08:15:32
阅读次数:
265