android 消息机制的总结

来源:互联网 发布:淘宝联盟怎么做高佣 编辑:程序博客网 时间:2024/05/30 04:36

作用:

              android 消息机制的作用主要在于对一些动作的异步处理,这样就可以让请求处理的线程在发出请求消息之后即返回而不必阻塞等待所需要执行任务的完成。


实现:

              android 消息机制的实现主要由Looper、MessageQueue、Handler三部分来实现,其中每一个线程只能有一个Looper,和一个MessageQueue(主线程系统自动创建,子线程需要手动创建)但可以有多个Handler。


组件说明:

               MessageQueue顾名思义,是一个用来存放发送到当前线程消息的对象, Handler则用来发送消息到对应线程的MessageQueue,以及处理消息队列中的消息,通过Handler发送消息到其所绑定的线程是由程序显示调用实现的,那么Handler是怎么处理消息的呢? 这就是Looper的作用所在了,Looper用来维护MessageQueue,在一个loop中不断的取出消息并进行广播,由发送消息的Handler的handleMessage()函数处理。


Handler的进一步说明

              Handler在整个消息机制的实现中是非常重要的,它既要发送消息又要处理消息。它主要完成两方面的工作,1、在同线程内向绑定的线程发送消息来安排一些事情的处理;2、其他线程调用该线程的Handler来请求该线程完成一些工作(如为了避免android的ANR,由主线程负责应用的UI,而子线程处理费时的逻辑,子线程需要更新UI的时候向主线程发送消息请求主线程更新UI)。需要说明的是不管是同线程还是跨线程,所使用的Handler都是与发送消息到的那个线程相绑定的,而消息的处理也是在所使用的Handler的handleMessage()函数中。


以上是本人对android 消息机制的一些肤浅认识,欢迎交流探讨。


0 0
原创粉丝点击