深入理解Android Handler 消息机制
来源:互联网 发布:京东12g数据库网盘 编辑:程序博客网 时间:2024/05/18 15:07
消息驱动机制---Handler,MessageQueue,Looper
简单的说,Android消息驱动流程是Looper循环驱动MessageQueue,Handler则是用来收发消息。
Looper是在线程里面创建的,Android有UI线程,和非UI线程之分。首先我们看一下非UI线程创建Hander发生了什么。
主线程默认已经创建Looper。对于子线程则需要先创建Looper。
Looper.perpare() 创建Looper;并创建该Looper需要的MessageQueue和绑定的当前Thread的线程。一个Looper就必须有一个MessageQueue和Thread线程。
在线程的Run方法中创建Looper
最终创建MessageQueue,并用当前线程绑定Looper。
然后Looper.loop() 启动Looper。便可以看到,死循环在一直读取MessgeQueue的对象,然后交给handler来处理
那么在主线程中Handler handler = new Handler();发生了什么事情。
主线程是默认是有Looper对象的,Looper.mylooper方法来得到主线程的Looper对象,拿到其Messagequeue后,Handler便可以处理CallBack回调,发送和处理Message了。
不管是主线程和子线程,都要先创建Looper对象,并绑定线程创建Messagequeue,然后hanler用binder机制对message进行处理。
阅读全文
0 0
- 深入理解Android Handler 消息机制
- Android消息机制——深入理解Handler
- Android 异步消息处理机制 深入理解 Looper、Handler、Message
- 深入理解android Handler机制
- 深入理解Handler消息传递机制详解
- 深入理解android 消息机制
- 深入理解Android消息机制
- 深入了解android中的消息机制Handler
- Android开发Handler消息机制深入探究
- 深入解析Android中Handler消息机制
- Android Handler消息机制的理解
- Android Handler消息机制的理解
- 【Android 学习】深入理解Handler机制
- 深入理解Android中的Handler机制
- 带你深入理解Android Handler机制
- 带你深入理解Android Handler机制
- 深入理解Android中Handler机制
- 深入理解Android中的Handler机制
- php修改网站默认编码
- python pandas to_sql 中文乱码问题
- HDU 5514 Frogs 【容斥原理】
- 面向过程与面向对象
- genymotion模拟器 安装使用
- 深入理解Android Handler 消息机制
- java生成word的几种方案
- C语言经典算法87-94
- 微信小程序媒体组件(一)audio
- CentOS7挂载读写NTFS分区的方法(ntfs-3g)
- 存储过程输出查询语句过程的固定形式
- iPhone X都没能实现的功能!三星Note 9要做到了?
- ofo与摩拜单车合并?一张合照引发的预测
- 支付宝正式宣布重磅功能!这8个城市用户有福了