Handler消息分析
ThreadLocal sThreadLocal =new ThreadLocal();
是什么鬼,存放数据的工具,当前线程存放的数据,别的线程获取不到
这个类提供get和set方法,比如在A线程中sThreadLocal.set("value");B线程中打印 sThreadLocal.get();打印出来为空。原因这边博文上分析得很清楚:
http://blog.csdn.net/singwhatiwanna/article/details/48350919;
关于 Handler Looper 以及MessageQueue的关系:
hreadLocal中存放Looper对象,每个Looper对象绑定得有一个MessageQueque。
通常handler对象在创建的时候会创建looper以及messageQueue,在ui线程中,这个创建的方法已经自动创建了,所以通常我们不去创建。而如果handler对象在子线程中则需要调用Looper.prepare();
Looper够构造器
private Looper(){
mQueue=new MessageQueue(); //可看出创建looper对象时也创建了messageQuere()对象
mRun=true;
mThread=Thread.currentThread();
}
Looper的prepare方法
public static final void prepare(){
if(sThreadLocal.get()!=null){
throw new RuntimeException("Only one Looper may be created per thread");
}
sThreadLocal.set(new Looper());//线程中调用Looper.prepare();方法时创建了looper,这里的looper对象存放在sThreadLocal中,独立属于当前线程
}
Looper的方法源码 使用先进先出的方式去读取messagequeue中的消息。
相关推荐
Android应用程序消息处理机制(Looper、Handler)分析
android handler 机制源码 (带部分汉语注释)
安卓应用开发基础的消息处理机制分析。对应用工程师很有帮助。
分析下Handler的工作原理,争取让我们能对Handler的理解更深刻,透彻。能真正理解Handler的作用、Handler的工作原理。
先上图,让大家好理解下handler机制:handler机制示例图上面一共出现了几种类,ActivityThread,Handler,MessageQueue,Looper,msg(Message),对这些类作简要介绍:ActivityThread:程序的启动入口,为什么要介绍...
Android应用程序消息处理机制(Looper、Handler)分析[收集].pdf
主要为大家详细分析了Android Handler消息派发机制源码,感兴趣的小伙伴们可以参考一下
这不, 前几天为了了解android的消息处理机制, 我看 了Looper, Handler, Message这几个类的源码, 结果又一次被googler的设计震撼了, 特与大家分享。 android的消息处理有三个核心类: Looper,Handler和Message...
最近总结了一下handler的使用,handler是Android中要的消息机制之一,在面试和实际开发中尤为重要,所以总结了一下,传到这里,和大家交流学习
从源码出发,详细的解析了android中的消息机制,分析清楚Looper和MessageQueue以及Handler三者之间的关系。
这篇文章写的非常好,深入...这不,前几天为了了解android的消息处理机 制,我看了Looper,Handler,Message这几个类的源码,结果又一次被googler的设计震撼了,特与大家分享。 android的消息处理有三个核心类:Looper
本文主要介绍 Android Handle机制实现的原理,这里整理了详细的关于Handler的资料以及工作流程和实际应用,有兴趣的小伙伴可以参考下
摘要视图订阅标签: Handler消息机制分类:目录(?Android异步消息处理机制详解及源码分析16244人阅读评论(21)收藏举报版权声明:本文为博主原创
在上一篇文章《Android应用程序消息处理机制(Looper、Handler)分析》中,我们分析了Android应用程序的消息处理机制,本文将结合这种消息处理机制来详细分析Android应用程序是如何获得键盘按键消息的。
Handler原理 及使用过程 源码中分析理解.
Handler机制产生的原因 在谈论一个机制之前,需要了解这个机制设计出来是为了解决什么问题。 Handler设计出来就是因为UI线程不能进行耗时操作,子线程不能更新UI,所以需要一种跨线程通信的机制来解决子线程跑完耗时...
Android应用程序消息处理机制(Looper、Handler)分析
Android消息机制主要指的是Handler的运行机制,是一块很有意思,也很有研究意义的内容。本文计划在较短的篇幅内,通过一定的源码,分析Android消息机制,并在结尾说点”题外话“,帮助我们理解消息机制在安卓应用...