一、Android中的事件处理方法
事件处理:响应用户UI动作,提高应用程序交互性
、基于监听的事件处理机制
、基于回调的事件处理机制
、Handler消息处理
前面我们已经介绍了Android事件处理方法总结-基于监听、基于回调的事件处理,这里我们总结一下Handler消息处理
二、Handler消息传递机制详解
、为什么要使用Handler消息传递
1).Android出于性能考虑,UI线程(主线程)是非线程安全的,为了避免线程安全问题,Android规定“ 只允许UI线程(即主线程)修改程序界面里面的UI组件”
但是
有时候非UI线程业务可能也需要根据需求改变UI界面内容时,这时就可以利用Handler消息传递,子线程发送Handler Message给UI线程,通知UI线程去改变UI组件
2).Android主线程一般不操作 复杂业务逻辑、请求网络等耗时操作,这些操作必须在新的子线程里面,否则可能会引起ANR异常
、Handler消息传递原理
4个主要参与对象:
Handler:消息发送接收处理类。负责从新启动的线程中发送消息,在主线程中获取并处理消息
Message:消息对象,即Handler接收和处理的消息对象
MessageQuene:消息队列,Message存取于MessageQuene
Looper:每个线程只拥有一个Looper,以先进先出的方式负责从MessageQuene消息队列里面读取Message交由Handler处理
、Handler消息处理应用实例
Handler处理消息应用步骤
Ⅰ.主线程创建一个Handler,用于消息处理
Ⅱ.子线程发送消息
Ⅲ.主线程接收并处理消息
应用实例:读取网络图片
布局文件
示例代码
示例效果
Ps:这里读取的是网络图片,所以在AndroidManifest.xml清单文件里面记得添加读取网络的权限 android.permission.INTERNET
就爱阅读www.92to.com网友整理上传,为您提供最全的知识大全,期待您的分享,转载请注明出处。
来源: