HandlerThread是一种特殊的Thread,也就是有Looper的thread,既然有looper的话,那我们就可以用此looper来创建一个Handler,从而实现和它的交互,比如你可以通过与它关联的Handler对象在UI线程中发消息给它处理。HandlerThread一般可以用来执.....
分类:
移动开发 时间:
2014-05-13 16:54:45
阅读次数:
351
主线程创建的时候会默认创建Looper、HandlerThread则是内置Looper,除此之外其他的线程创建时是不会创建Looper的,需手动创健线程自己的Looper。子线程更新主线程创建的控件引发的错误:Onlytheoriginalthreadthatcreatedaviewhierarchycantouchitsviews默认情况下Handler会与..
分类:
其他好文 时间:
2014-05-13 12:40:28
阅读次数:
308
一.介绍
HandlerThread继承自Thread,当线程开启时,也就是它run方法运行起来后,线程同时创建了一个含有消息队列
的Looper,并对外提供自己这个Looper对象的get方法,这就是它和普通Thread唯一不同的地方。
二.好处
为什么要使用HandlerThread。1.开发中如果多次使用类似new
Thread(){...}.start...
分类:
移动开发 时间:
2014-05-09 14:59:31
阅读次数:
429
关于Handler的总结。
Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队,终由Handler处理。
Handler:处理者,负责Message的发送及处理。使用Handler时,需要实现handleMessage(Message msg)方法来对特定的Message进行处理,例如更新UI等。
MessageQueue:...
分类:
移动开发 时间:
2014-05-03 21:57:10
阅读次数:
365
Toast或者Dialog中都有一个Handler的成员变量,所以如果不是在主线程中使用Toast或Dialog,则需要在使用Toast或者Dialog的线程中初始化Looper。Looper.prepare();Toast.makeText(MainActivity.this,
"网络出错了", ...
分类:
其他好文 时间:
2014-05-01 02:04:03
阅读次数:
267