频道栏目
首页 > 程序开发 > 移动开发 > Android > 正文
Android消息机制解析
2017-11-14 10:35:18      个评论    来源:github_36818902的博客  
收藏   我要投稿

Android消息机制解析,Android中只有在UIThread中才能更新界面,在长时间的联网请求和其他操作需要在workThread中执行,所以在分线程中联网请求后如果需要更新UI界面的时候就需要引入消息机制。

1. 消息机制的引入

Android中只有在UIThread中才能更新界面,在长时间的联网请求和其他操作需要在workThread中执行,所以在分线程中联网请求后如果需要更新UI界面的时候就需要引入消息机制。

如何实现线程间通信呢? (分线程如何传送数据给主线程)

方式一: Thread + runOnUiThead()

方式二: Thread + Handler + Message

方式三: AsyncTask (实现了对Thread 和 Handler的封装,提供了一个线程池)

2.Message的使用 :

1).作用

?可理解为线程间通讯的数据单元, 可通过message携带需要的数据

2). 对象的创建

调用Message的静态方法obtain()获取Message的一个对象。

(Message内部维护了一个消息池,对象是从消息池中获取的:可能是已经存在的message对象,也可能是新创建的)

3). 对象的使用

 

int what: 唯一的标识此message对象

int args1/args2:用于存储int型的数据

Object obj:用于存储object类型的数据

其它:

long when :此消息要被处理的时间

Message next: 如果在一个message中又声明另一个message,整体就构成一个对列的结构

Handler target: 处理此Message的Handler对象

Runnable callback: 每个message,都可以设置自己被处理的方式

Message sPool: 涉及到消息池的使用

点击复制链接 与好友分享!回本站首页
上一篇:android开发 overlay机制研究
下一篇:androidstudio3.0开发ndk配置使用技巧
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站