Handler
2016-03-19 18:58
204 查看
多线程与异步
Handler用来做什么?
1、定时执行Message和MessageQueue;
2、在不同线程中执行Runnable。
Handler怎么使用?
obtainMessage() //取得消息
sendMessage() //发送消息
handlerMessage() //处理消息
Message、 MessageQueue、Looper
Message 有2个整型数值 和 1个Object;
MessageQueue是Message的队列
Looper消息泵
Looper的原理
如何使用:
1、是MessageQueue的管理者;
2、Looper.prepare()
3、每一个Looper对象和一个线程关联
4、Looper.myLooper()可以获得当前线程的Looper对象
Looper从MessageQueue中取出Message,交由Handler的handlerMessage进行处理;调用Message.recycle()将其放入Message Pool中。
Handler用来做什么?
1、定时执行Message和MessageQueue;
2、在不同线程中执行Runnable。
Handler怎么使用?
obtainMessage() //取得消息
sendMessage() //发送消息
handlerMessage() //处理消息
Message、 MessageQueue、Looper
Message 有2个整型数值 和 1个Object;
MessageQueue是Message的队列
Looper消息泵
Looper的原理
如何使用:
1、是MessageQueue的管理者;
2、Looper.prepare()
3、每一个Looper对象和一个线程关联
4、Looper.myLooper()可以获得当前线程的Looper对象
Looper从MessageQueue中取出Message,交由Handler的handlerMessage进行处理;调用Message.recycle()将其放入Message Pool中。
相关文章推荐
- 笔试题(蘑菇街):回文串
- 复利计算
- 第三周作业二
- Kafka学习之二 Kafka基本安装使用方法
- Android ListView 几个重要属性
- cubietruck---安装lubuntu系统&挂载磁盘
- 内存管理之ARC
- 课堂实验3
- 程序阅读
- 第三周作业(二)
- 01docker简单使用和配置(容器、镜像)
- 关于Java NIO的一篇文章
- Objective-C错误处理
- 图的BFS算法和DFS的递归非递归算法
- 编写一个iOS应用之前必须做的7件事(附相关资源)
- 第二周笔记
- 第四周项目4-程序分析(1)
- nodejs learn
- HDU-5242 Game (贪心&&树链剖分&&线段树)
- Visual studio 2013安装及单元测试