Android是参考Windows的消息循环机制来实现Android自身的消息循环的。 一个Activity中可以创建多个工作线程或者其他的组件,如果这些线程或者组件把他们的消息放入Activity的主线程消息队列,那么该消息就会在主线程中处理了。 因为主线程一般负责界面的更新操作,并且Android系统中的widget 不是线程安全的,所以这种方式可以很好的实现Android界面更新。在Android系统中这种方式有着广泛的运用。 那 么一个线程怎样把消息放入主线程的消息队列呢?答案是通过Handle对象,只要Handler对象以主线程的Looper创建,那么调用Handler 的sendMessage等接口,将会把消息放入队列都将是放入主线程的消息队列。并且将会在Handler主线程中调用该handler的 handleMessage接口来处理消息。 更多Android消息队列的信息请参看: http://my./~Simon_fu/?p=652 下面这个图从另外一个角度描述了他们的关系: |
|