我写这篇日志的初衷,是想让每个初学Android应用开发的同学们(高手就飘过吧)弄明白Android消息机制的原理和底层实现方式,至于大家能否对Android消息机制彻底弄明白,纯粹是对我个人表达能力的一次巨大挑战。因为Android事件机制和代码实现,对已经具备Java或C+语言语法基础的人来讲,其实是并不难理解的。在我看来,消息机制有2大应用场合,一是GUI程序设计,比如我们用鼠标在一个程序界面上实施鼠标点击,拖拽,键盘输入等动作,程序一般便会执行预期的效果。二是后台服务程序,没有程序界面的那种。比如说一些银行金融产品软件,电信设备的操作维护平台软件等。我们一次网上银行汇款,一次拨打电话行为,都会激发大量的系统内部消息和消息处理动作,这类系统往往还会添加分布式组件模块,屏蔽消息跨平台的发送和接收机制,但其核心设计思想仍基于GUI程序的消息处理模型。既然如此,我们从GUI程序说起吧。在界面上,一个看似简单的操作背后,其实隐藏了GUI程序设计核心的三要素:线程,消息队列和消息响应函数。当然了,还有些具体的细节过程,比如如何发送消息,取得消息,执行消息响应函数,消息