handler——子线程中创建消息处理机制
来源:互联网 发布:阿里云虚拟主机怎么看 编辑:程序博客网 时间:2024/04/26 23:35
转自http://blog.csdn.net/fdaopeng/article/details/7863840
Android系统的消息队列和消息循环都是针对具体线程的,一个线程可以存在(当然也可以不存在)一个消息队列(Message Queue)和一个消息循环(Looper)。Android中除了UI线程(主线程),创建的工作线程默认是没有消息循环和消息队列的。如果想让该线程具有消息队列和消息循环,并具有消息处理机制,就需要在线程中首先调用Looper.prepare()来创建消息队列,然后调用Looper.loop()进入消息循环。
class LooperThread extends Thread { public Handler mHandler; public void run() { Looper.prepare(); mHandler = new Handler() { public void handleMessage(Message msg) { // process incoming messages here } }; Looper.loop(); } }
这样该线程就具有了消息处理机制了。如果不调用Looper.prepare()来创建消息队列,会报"Java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()"的错误。
在子线程的run()方法里调用Looper.prepare(),实例化一个Handler对象,调用Looper.loop()使线程进入消息循环
Handler对象的实例话必须在Looper.prepare()之后。当我们要给具有消息循环的线程发送消息时,我们先要获得具有消息循环的线程的 Handler 对象(或者先获取具有消息循环的线程的Looper对象,再使用这个Looper对象构造Handler对象),构造一个Message对象,然后调用Handler对象的sendMessage方法
Message message=Message.obtain(); message.what=1; message.arg1=count; handler.sendMessage(message);
0 0
- handler——子线程中创建消息处理机制
- HandlerThread,子线程中处理Handler消息
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- Android:在子线程中更新UI,解析异步消息处理机制(Handler)
- 在子线程创建handler进行处理消息
- 子线程中创建handler
- Android Handler(子线程Handler)异步消息处理机制的妙用(活用信号量) 创建强大的图片加载类
- linux 基础命令2(用户,组)
- 第10章 Java算法之排序算法
- iOS获取WiFi的信息
- 大学生应该常去的网站
- 梦想还需有,因它必实现——发现最新版iOS漏洞,OverSky团队专访
- handler——子线程中创建消息处理机制
- poj 1287 && la 2515
- 20个经典模拟电路(详细图文)
- iOS中JavaScript和OC交互
- [美剧赏析] 权力的游戏<Game of Thrones>完全赏析 (27-28)
- Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. > com.android.build.a
- 安卓Wav音频文件合并
- Eclipse Java EE IDE配置Tomcat服务器
- 瑞利散射