文档章节

Android中六种更新UI的方法

abcijkxyz
 abcijkxyz
发布于 2016/07/30 17:23
字数 246
阅读 3
收藏 0
子线程与UI线程交互,以更新UI的方法,大致有以下六种:
1)、handler和message机制:通过显示的抛出、捕获消息与ui进行交互。

2)、Handler.post(Runnable):在线程里面发送消息,然后在Handler的dispatchMessage()方法中进行处理。

3)、View.post(Runnable):将操作放入到message队列中,如果放入成功,该操作将会在ui线程中执行,并返回true,否则返回false。其实就是调用了Handler.post(Runnable)方法。

4)、View.postDelayed(Runnable, long)跟第三条基本一样,只不过添加了一个延迟时间。

5)、Activity.runOnUiThread(Runnable):如果当前线程为ui线程,则立即执行;否则,将参数中的线程操作放入到ui线程的事件队列中,等待执行。

6)、使用AsyncTask直接更新UI。

2~6条其实底层实现都是Handler的通信机制,详细介绍可以参考郭神的博文:http://blog.csdn.net/guolin_blog/article/details/9991569

本文转载自:http://blog.csdn.net/wdong_love_cl/article/details/51557761

共有 人打赏支持
abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
私信 提问
Android 多线AsyncTask详解

Android 多线AsyncTask详解 您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态。 如果文章内容对您有帮助, 不要忘记点击右下角的 ...

AbrahamLeeJay
2014/07/11
0
0
android应用开发简单理解

做了个应用,总结下对于android 应用的简单理解 从上图可以简单看出,主线程启动,这里把各种操作称为action,主要分为3部分: ui(视图绘制)、event(事件处理)和other(数据或网络等处理) 1.当...

blackylin
2013/06/18
0
2
Android中AsyncTask的简单用法

在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(U...

带梦想一7飞
2012/07/09
0
0
《Android构建MVVM》系列(一) 之 MVVM架构快速入门

前言   本文属于《Android构建MVVM》系列开篇,共六个篇章,详见目录树。   该系列文章旨在为Android的开发者入门MVVM架构,掌握其基本开发模式。   辅以讲解Android Architecture Co...

昕无旁骛
08/18
0
0
android之Files,Saving State,Preferences(一)

保存简单的APP数据 1.Shared Preferences 是一个简单,轻量级的,以键值对的机制(name/value pair---NVP)存储一些基础数据(Boolean,string,float等),最常用在保存用户的APP参数。 2.保存...

Chanimalx
2013/01/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

微信小程序 用canvas绘制的图插入到分享中

用canvas绘制图 createNewImg: function () {var that = this;var ctx = wx.createCanvasContext('mycanvas');ctx.setFillStyle("#F4F4F4");// context.setFillStyle("#fff")ctx.fillRe......

潇潇程序缘
2分钟前
0
0
公司报表数据库优化

报表系统优化 背景: 11.22早晨 刚放下背包,收到一份邮件,邮件意思是公司报表数据库慢,让我帮忙看看。邮件还附带了一个SQL文本,指出这个SQL慢。随后电话了开发人员了解事情来龙去脉,原来...

hnairdb
3分钟前
0
0
javascript代码技巧

1、var gt = window.showgt || (windows.showgt="abc");

gtandsn
6分钟前
0
0
TiDB EcoSystem Tools 原理解读(一):TiDB-Binlog 架构演进与实现原理

简介 TiDB-Binlog 组件用于收集 TiDB 的 binlog,并提供实时备份和同步功能。该组件在功能上类似于 MySQL 的主从复制,MySQL 的主从复制依赖于记录的 binlog 文件,TiDB-Binlog 组件也是如此...

TiDB
22分钟前
0
0
Confluence 6 文档主题合并问答

在 Confluence 官方 前期发布的消息 中,文档主题在 Confluence 6.0 及其后续版本中已经不可用。我们知道你可能对这个有很多好好奇的问题,因此我们在这里设置了一个问答用于帮助你将这个主题...

honeymose
26分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部