handler消息处理机制
来源:互联网 发布:郑州网络推广 编辑:程序博客网 时间:2024/04/30 20:26
三个核心类:Looper,Handler和Message,
MessageQueue(消息队列)在Looper内部
Looper.prepare();//将当前线程初始化为Looper线程
Looper.loop();// 开始循环处理消息队列
handler机制:
1.在创建Activity之前,在系统启动的时候先加载ActivityThread类,在这个类的main函数中,调用Looper.prepareMainLooper()进行初始化Looper对象。
2.创建主线程的handler对象
3.创建ActivityThread对象
4.调用Looper.loop(),不断的进行轮询消息队列中的消息
5.sendMessage()将消息发送给消息队列
6.在发送消息的时候,使用message.target=this为handler发送的message贴上当前handler的标签
7.开启HandlerThread线程,执行run方法。
8.在HandlerThread类的run方法中开启轮询器进行轮询:调用Looper.loop()方法进行轮询消息队列的消息
9.在消息队列MessageQueue中enqueueMessage(Message msg, long when)方法里,对消息进行入列,即依据传入的时间进行消息入列(排队)
10.轮询消息:与此同时,Looper在不断的轮询消息队列
11.在Looper.loop()方法中,获取到MessageQueue对象后,从中取出消息(Message msg = queue.next()),如果没有消息会堵塞
12.分发消息:从消息队列中取出消息后,调用msg.target.dispatchMessage(msg);进行分发消息
13.将处理好的消息分发给指定的handler处理,即调用了handler的dispatchMessage(msg)方法进行分发消息。
14.在创建handler时,复写的handleMessage方法中进行消息的处理
15.回收消息:在消息使用完毕后,在Looper.loop()方法中调用msg.recycle(),将消息进行回收,即将消息的所有字段恢复为初始状态。
- Handler消息处理机制
- Handler消息处理机制
- handler消息处理机制
- handler消息处理机制
- Handler消息处理机制
- Handler消息处理机制
- Handler--消息处理机制
- Handler消息处理机制
- Handler消息处理机制
- handler消息处理机制
- Handler消息处理机制
- handler 消息处理机制
- Handler消息处理机制
- 消息处理机制之Handler
- Android Handler消息处理机制
- 消息处理机制之Handler
- Handler类处理消息机制
- Handler--异步消息处理机制
- 装机必备:精选十款优秀的Linux应用软件
- 【bzoj2054】 疯狂的馒头 并查集
- 百度云推送,直接运用demo到项目中
- Android Multiple APK Support
- 三星手机拍照后 图片翻转
- handler消息处理机制
- Unity3d 引擎原理详细介绍、Unity3D引擎架构设计
- Ubuntu桌面生存指南
- 网络游戏中使用促销码
- 指向指针的引用的实例解说
- shell脚本如何获取当前时间
- solr提交示例数据到索引库
- reduce、map、filter 互相转化
- 接口和抽象类的区别