android Hanlder原理分析
来源:互联网 发布:新星星知我心 编辑:程序博客网 时间:2024/06/10 05:42
Handler作用:
1)执行计划任务,你可以再预定的实现执行某些任务,可以模拟定时器
2)线程间通讯,在android应用启动时,会创建一个主线程,主线程会创建一个消息队列来处理各种消息。当你创建子线程时,你可以在你的子线程中拿到父线程中创建的Handler对象,就可以通过该对象向父线程的消息队列发送消息了。由于Android要求在UI线程更新界面,因此,可以通过该办法在其他线程中更新界面了。
一、角色描述
1、Looper(相当隧道)一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue
2、Handler,你可以构造Handler对象与Looper对象沟通,以便push新消息到Message Queue里,或者接受Looper(从Message Queue取出)所送来的消息
3、Message Queue用来存放线程放入的消息。
4、线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。
每一个线程里可含有一个Looper对象以及一个Message Queue 数据结构,在你的应用程序里,可以定义Handler的子类别来接受Looper所送出的消息。
二、问题
1、在主线程定义Handler1和Handler2,Handler1.sendMassage Handler2是否能接受到,答案是:不能
2、主线程就一个消息队列,为什么不同的Handler不能共享消息呢,因为通过消息what来标识不同Handler消息的。
3、子线程默认没有消息队列的,所以在子线程创建Handler会抛出没有Looper异常
4、子线程使用HandlerThread,默认有消息队列
5、子线程的Handler可以使用子线程的消息队列
- android Hanlder原理分析
- Android Hanlder机制分析(一) Hanlder常见用方法及原理
- Android Hanlder机制分析(二) HandThread Handler.Obtain()
- Android Hanlder小例子
- Android Hanlder综合
- Android Hanlder处理
- Android 开发-碎文 Hanlder
- Android hanlder message messagequeue Looper
- Android Hanlder-Message-Looper机制
- Hanlder消息传递机制及其工作原理
- android hanlder loop message的理解
- Android hanlder的内存泄露问题
- Android之十七 进度条和Hanlder
- Android开发文档翻译(Hanlder Looper Message MessageQueue)
- Android的线程间通信Hanlder、Looper、Message、MessageQueue
- Android Intent原理分析
- Android Intent原理分析
- android动画原理分析
- 2016年全国研究生招生考试成绩
- innodb 多版本并发控制原理详解
- lua 中 . 和 : 的区别
- 前端与移动开发---菜鸟进阶计划002
- 台湾大学林轩田老师机器学习基石:内容简介
- android Hanlder原理分析
- 蓝桥杯 历届试题 错误票据 java详解
- IOS学习 UIViewController 视图控制器的创建
- nodejs 链接数据库的一些代码
- chrome developer tool 调试技巧
- ELK+Redis日志分析平台测试性能记录
- 六种常用的设计模式java实现(五)代理模式
- sql中exists,not exists的用法
- 黑马程序员——网络编程