Android中六种更新UI的方法

本文介绍了子线程与UI线程交互的六种主要方法,包括Handler和Message机制、Handler.post(Runnable)、View.post(Runnable)、View.postDelayed(Runnable,long)、Activity.runOnUiThread(Runnable)及AsyncTask等,这些方法最终都基于Handler机制实现。
子线程与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.youkuaiyun.com/guolin_blog/article/details/9991569

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值