ThreadLocal 往下看之前,需要了解一下Java的ThreadLocal类,可参考博文: 解密ThreadLocalLooper、Handler和MessageQueue 我们分析一下之前的这段代码,查看一下Handler机制中,Handle、Looper和MessageQueue之...
分类:
移动开发 时间:
2015-09-18 22:00:02
阅读次数:
244
ThreadLocal 往下看之前,需要了解一下Java的ThreadLocal类,可参考博文: 解密ThreadLocalLooper、Handler和MessageQueue 我们分析一下之前的这段代码,查看一下Handler机制中,Handle、Looper和MessageQueue之间到.....
分类:
移动开发 时间:
2015-09-18 18:30:34
阅读次数:
190
andriod提供了Handler 和 Looper 来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列...
分类:
其他好文 时间:
2015-09-15 16:16:12
阅读次数:
216
本文包括与Handler有关的以下问题: (1)Handler的作用 (2)为什么Android中要设计为只能在UI线程中去更新UI呢? (3)Handler的两个异常 (4)Handler、Looper MessageQueue之间的关系(源码角度) (5)跟线程相关的Handler,即...
分类:
移动开发 时间:
2015-09-11 12:34:40
阅读次数:
239
网上查看了好多关于looper,1.每个线程有且最多只能有一个Looper对象,它是一个ThreadLocal2.Looper内部有一个消息队列,loop()方法调用后线程开始不断从队列中取出消息执行,若没有消息就处于阻塞状态,android的主线程就是一个looper线程。3.Looper使一个线...
分类:
其他好文 时间:
2015-09-07 00:40:42
阅读次数:
281
说到Handler想必大家都经常用到,在非UI线程更新UI那可是利器,用起来也非常容易上手从使用上来说,我们只需要关注sendMessage和handleMessage即可所以我们先从Handler和Message来说起,先看一小段代码 public static final int UPDA...
分类:
其他好文 时间:
2015-09-04 07:34:21
阅读次数:
303
Handler是整个消息系统的核心,是Handler向MessageQueue发送的Message,最后Looper也是把消息通知给Handler,所以就从Handler讲起。一、HandlerHandler的构造函数有很多,但本质差不多:public Handler() { th...
分类:
移动开发 时间:
2015-09-03 12:46:07
阅读次数:
256
上文从源码分析Handler机制中从java层分析了消息机制,接下来本文从native层去分析Android中的消息机制。在一个消息驱动的系统中,最重要的就是消息队列和消息获取和处理,从上一篇文章可以看出handler的消息机制主要是靠MessageQueue进行消息列队,靠Looper进行消息循环,Looper的loop方法中进行轮询消息的实际操作还是依靠MessageQueue的next方法来获...
分类:
编程语言 时间:
2015-09-02 16:01:21
阅读次数:
238
方法一:(java习惯,在android不推荐使用)刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题new Thread( new Runnable() { public void run() { myView.inv...
分类:
移动开发 时间:
2015-09-02 13:13:02
阅读次数:
210
在线程中调用包含创建handler方法的时候,会报错,提示:“need call Looper.prepare()” -- 在创建之前,调用Looper.prepare()方法来创建一个looper但是这个包含创建handler的方法,可能在主线程中调用,也可能在子线程中调用。在主线程中调用的时候,...
分类:
移动开发 时间:
2015-09-01 12:16:45
阅读次数:
187