设为首页 加入收藏

TOP

Android-初识Handler,Looper,Message(-) 源码
2014-11-24 13:24:33 来源: 作者: 【 】 浏览:2
Tags:Android- 初识 Handler Looper Message 源码

本文只是表面的带大家浏览下Handler,Looper,Message的源码


异步处理大师 Handler:


什么是handler?handler扮演了往MQ上添加消息和处理消息的角色(只处理由自己发出的消息),即通知MQ它要执行一个任务(sendMessage),并在loop到自己的时候执行该任务(handleMessage),整个过程是异步的。handler创建时会关联一个looper,默认的构造方法将关联当前线程的looper,不过这也是可以set的。默认的构造方法:


当然这只是Handler的一个构造方法。Handler本身有四个构造函数,其他其他的三个你可以通过查看源码来解析,大致雷同。


Handler发送消息


有了handler之后,我们就可以使用 post(Runnabl),sendMessage(Message)这些方法向MQ上发送消息了。光看这些API你可能会觉得handler能发两种消息,一种是Runnable对象,一种是message对象,这是直观的理解,但其实post发出的Runnable对象最后都被封装成message对象了,见源码:
Post发送的形式


sendMessage(Message)形式


从源码中我们中我们可以很清晰的看到无论是用psot(Runnable)还是使用sendMessage(Message)方法,最后他们都会调用到同一个方法压入都一个队列中去。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android-初识Handler-子线程异步.. 下一篇Android的Location功能代码

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: