一、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)、主线程接收并处理消息



更多相关文章

  1. Android学习笔记Android线程模型解析
  2. Android(安卓)开发必读:如何成为一名优秀的Android开发者
  3. Android中使用handler
  4. [置顶] android软键盘弹出,会把原来的界面挤上去的问题 处理方法
  5. Android(安卓)面试精华题目总结
  6. Android中的常用控件之进度条(ProgressBar)
  7. Android之——多线程下载示例
  8. [置顶] Android消息异步机制(ThreadLocal、MessageQueue、Looper
  9. 对《深入理解Android虚拟机》一书的知识点总结

随机推荐

  1. Android 设备屏幕信息(dip,sp,px的转换及
  2. android四大组件(一四大组件简单介绍)
  3. Android利用系统提供的函数或常量判断版
  4. Android TextView 自定义字体设置
  5. android环境配置及android opencv环境配
  6. android通过manifest.xml设置程序安装的
  7. android ids.xml
  8. 安卓程序的入口点
  9. Android 数据存储四种方式
  10. Android:SystemUi有关notification