androidhandler传递消息机制

当工作线程给主线程发送消息时,因为主线程是有looper的,所以不需要初始化looper,注意给谁发消息就关联谁的handler,此时用的就是主线程的handler

handler会把消息发送到MessageQueue队列中,looper会不断的去遍历MessageQueue队列,当一有消息时就会回调handler的handleMessage方法!

当主线程给工作线程发消息时,关联的是子线程的handler,子线程是没有looper的。所以我们需要调用Looper.prepare(),初始化一个Looper,放入Threadlocal中,

最后要调用looper.loop方法开始轮询MessageQueue队列里面的消息,机制也是回调机制!

更多相关文章
  • Android消息机制
    每一个Android应用在启动的时候都会创建一个线程,这个线程被称为主线程或者UI线程,Android应用的所有操作默认都会运行在这个线程中.但是当我们想要进行数据请求,图片下载,或者其他耗时操作时,是不可能在这个UI线程做的,因为Android在3.0以后的版本已经禁止了这件事情,直接抛出一个异常 ...
  • iOS开发系列--通知与消息机制
    概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情.iOS中通知机制又叫消息机制,其包括两类:一类是本地通知:另一类是推送通知,也叫远程通知.两种通知在iOS中的表现一致,可以通过横幅或者弹出提醒两种形式 ...
  • 通知与消息机制
    概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情.iOS中通知机制又叫消息机制,其包括两类:一类是本地通知:另一类是推送通知,也叫远程通知.两种通知在iOS中的表现一致,可以通过横幅或者弹出提醒两种形式 ...
  • 在分布式企业级应用程序中,异步消息机制用于有效地协调各个部分的工作. J2EE为我们提供了JMS和消息驱动Bean(Message-Driven Bean),用来实现应用程序各个部件之间的异步消息传递. 一.什么是消息系统? 通常一个消息系统允许分开的未耦合的应用程序之间可靠地异步通信.在企业应用时 ...
  •                                                                  一.消息机制 1.在viewDidLoad中直接用 performSelector:@selector(doSomething) 来调用doSomething方法时,会发 ...
  • MFC消息机制涉及许多知识,比如消息分类,消息映射等. 知识先了解一下,马上动手实践才是硬道理. 我建了个SDI项目,把常用的消息试验了一遍. 如果像我一样初学的,可以留下邮箱索取源码. // MainFrm.h afx_msg void OnMenuMsg(); // 菜单命令消息 afx_msg ...
  • Android的消息机制(一)android 有一种叫消息队列的说法,这里我们可以这样理解:假如一个隧道就是一个消息队列,那么里面的每一部汽车就是一个一个消息,这里我们先忽略掉超车等种种因素,只那么先进隧道的车将会先出,这个机制跟我们android 的消息机制是一样的.一.角色描述1.Looper: ...
  • TObject消息分派 procedure Dispatch(var Message); virtual; #负责分派消息到特定VCL组件的事件处理函数 procedure DefaultHandler(var Message); virtual; #消息分类:通过子类覆盖此方法,处理窗口命令消息, ...
一周排行
  • 数据库虚拟补丁技术研究
    虚拟补丁技术是通过控制所保护系统的输入输出,防止对系统的漏洞攻击行为的技术.虚拟补丁技术通 ...
  • ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来的一项新功能,这是Oracle自己提供的卷管理器,主要用于替代操作系统所提供的LVM,它不仅支持单实例,同时对RAC的支持也是非常好.一.  ...
  • 1. ROUND(该函数,只是负责四舍五入到两位小数,但是不负责截断 只留两位小数,例如下例:) 关于ROUND函数,我们平常理解为4舍5入,如: print ROUND(13.145, 2); 结果为:13.150 ...
  • http://2010blog.51cto.com/1604432谢谢众多投我票和支持我,谢谢我的人,抚琴煮酒祝你们身体健康.心情愉悦.阖家欢乐!!
  • 在java中,除了基本类型,其余的都是引用类型!而 基本类型包括以下四种:布尔型:boolean整数型:byte(字节),short(短整型),long(长整型),int(整型)浮点型:float,double字符型 ...
  • 公司的的系统只能运行在32位的IE上,开始从http://selenium-release.storage.googleapis.com/index.html?path=2.48/ 这个路径下去下载了个IEDrive ...
  • l linux上的/var/log/secure 不记录日志重新开启 sshd服务 和sysylogd日志服务即可
  • 瑞星研发部门通过对360"安全"浏览(3.5.0.6版本)进行技术分析,发现存在以下2类"特殊"行为: 一:使用黑名单监控用户电脑中竞争对手产品及网吧管理软件.目前发现被监控的 ...
  • 权限验证方式的验证代码: org.apache.shiro.web.servlet.AdviceFilter这个类是所有shiro框架提供的默认权限验证实例类的父类 验证代码: public void doFilte ...
  • 精确并行指令计算(Explicitly Parallel Instruction Computing, EPIC)技术奠定了IA-64微处理器新的框架结构,目的是大幅度提高CPU指令的并行性.在精确并行指令计算中,编 ...