一、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处理

Android 事件处理基于Handler 消息处理_第1张图片

3、Handler 消息处理应用实例

Handler 处理消息应用步骤

(a)、主线程创建一个Handler,用于消息处理

(b)、子线程发送消息

(c)、主线程接收并处理消息



更多相关文章

  1. Android学习笔记Android线程模型解析
  2. [置顶] Android消息异步机制(ThreadLocal、MessageQueue、Looper
  3. [Android] [ Android启动流程 ] [ 下 ] [ Zygote、SystemServer
  4. Android Handler 消息机制
  5. 为什么Android必须在主线程更新UI?
  6. android 消息机制(2)

随机推荐

  1. 【Android】使RecyclerView 支持setEmpty
  2. Eclipse 开发 Android, Hello FormStuff(
  3. Android的下拉式選單
  4. Android(安卓)自制照相机
  5. android 通过ContentResolver获得联系人
  6. Android(安卓)开发常用代码片段
  7. android UI控件之webview控件使用实例:加
  8. android textview 显示 文本 .txt
  9. Android常用功能代码块
  10. Android拍照上传代码样例