Android(安卓)事件处理基于Handler 消息处理
16lz
2021-12-28
一、Android的事件处理方法
事件处理:响应用户UI动作,提高应用程序交互性
1、基于监听的事件处理机制
2、基于回调的事件处理机制
3、Handler消息处理
二、Handler消息传递机制详解
1、为什么要使用Handler 消息传递?
1)、Android处于性能考虑,UI线程(主线程)是非线程安全的,为了避免线程安全问题,Android规定“只允许UI线程(主线程)修改程序界面里面的UI组件”
但是,有时候非UI线程业务可能也需要根据需求改变UI界面内容时,这时候就可以利用Handler消息传递,子线程发送Handler Messager给UI线程,通知
UI线程去改变UI组件
2)、Android主线程一般不操作复杂业务逻辑、请求网络等耗时操作,这些操作必须在新的子线程里面,否则可能会引起ANR异常。
2、Handler 消息传递原理
4个主要参与对象:
Handler:消息发送接收处理类。负责从新启动的线程中发送消息,在主线程中获取并处理消息。
Message:消息对象,即Handler接收和处理的消息对象
MessageQuene:消息队列,Message存取于MessageQuene
Looper:每个线程只拥有一个Looper,以先进先出的方式负责从MessageQuene消息队列里面读取Mesaage,交由Handler处理
3、Handler 消息处理应用实例
Handler 处理消息应用步骤
(a)、主线程创建一个Handler,用于消息处理
(b)、子线程发送消息
(c)、主线程接收并处理消息
更多相关文章
- Android学习笔记Android线程模型解析
- Android(安卓)开发必读:如何成为一名优秀的Android开发者
- Android中使用handler
- [置顶] android软键盘弹出,会把原来的界面挤上去的问题 处理方法
- Android(安卓)面试精华题目总结
- Android中的常用控件之进度条(ProgressBar)
- Android之——多线程下载示例
- [置顶] Android消息异步机制(ThreadLocal、MessageQueue、Looper
- 对《深入理解Android虚拟机》一书的知识点总结