Handler消息传递机制
来源:互联网 发布:人脸识别算法 开源 编辑:程序博客网 时间:2024/04/29 01:02
Android中UI并不是线程安全的,什么是线程安全呢
https://zh.wikipedia.org/wiki/%E7%BA%BF%E7%A8%8B%E5%AE%89%E5%85%A8
这是维基给出的解释。
如果有多个线程操作UI,会造成线程不安全问题。因此Android有规定:UI组件只能在Activity中对UI进行操作。
当一个程序第一次启动时,Android会同时启动一个Main Thread(主线程),主要负责与UI有关的操作,因此也被称为UI线程。
Addroid中消息传递机制主要是为了解决线多程安全问题,因为Android中只允许UI线程修改Activity中的UI组件,这样就导致了新启动的程序无法动态的改变组件的属性。这里就需要Handler来处理。
Handler类的作用:
- 在新启动的线程中发送消息,
在主线程中处理和接受消息。
开发者只需重写Handler类中处理消息的方法即可,当新启动的线程发送消息时,会发送到MessageQuene(消息队列),而Handler会不断的从中队列中取出并处理消息。
标注了一些比较常用的方法:
void handleMessage(Message msg):处理消息的方法。一般被重写。
boolean hasMessages(int what):检查消息队列中是否有包含what属性为指定值的消息。
hasMessages(int what, Object object):检查消息队列中是否有包含what属性且Object为指定值的消息。
Message obtainMessage():获取消息。
sendEmptyMessage(int what):发送空消息。
sendMessageDelayed(Message msg, long delayMillis):在一定时间内发送消息。
sendMessage(Message msg):立刻发送消息。
- Handler消息传递机制
- Handler 消息传递机制
- Handler消息传递机制
- Handler消息传递机制
- Handler 消息传递机制
- Handler消息传递机制
- Handler消息传递机制
- Handler消息传递机制
- Handler 消息传递机制
- Handler 消息传递机制
- Handler消息传递机制
- Handler消息传递机制
- Handler消息传递机制
- Handler消息传递机制
- Handler消息传递机制
- Handler消息传递机制
- Handler消息传递机制
- Handler消息传递机制
- Http相关辅助类 HttpUtils
- Linux日志学习
- Ketama一致性哈希算法整理
- 导出oracle数据库所有表结构到excel中
- Json数据格式介绍、使用Android自带类库完成Json生成与解析
- Handler消息传递机制
- java中的static用法
- Sonar初识
- Java 过滤器读取配置文件实现过滤编码
- 单生产者 单消费者
- UESTC 1170 红与蓝 计算几何、贪心、红蓝点对
- maven基础
- 十五、解释器模式Interpreter(行为型)
- 2440: [中山市选2011]完全平方数