更新UI——Handler&runOnUiThread

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更新UI——Handler&runOnUiThread相关的知识,希望对你有一定的参考价值。

有时会碰到在非主UI线程更新视图的需要。这个时候我们有两种处理的方式。一种是Handler一种是Activity中的 runOnUiThread(Runnable )方法。对于第一中方法,是采用传递消息的方式,调用Handler中方法来处理消息更新视图。这种方式对于不是很频繁的调用是可取的。如果更新的较快,则消息处理会一直排队处理,这样显示会相对滞后。这个时候就可以考虑使用第二中方式,将需要执行的代码放到Runnable的run方法中,然后调用runOnUiThread()这个方法将Runnable的对象传入即可。

 

利用Activity.runOnUiThread(Runnable)把更新ui的代码创建在Runnable中,然后在需要更新ui时,把这个Runnable对象传给Activity.runOnUiThread(Runnable)。 这样Runnable对像就能在ui程序中被调用。如果当前线程是UI线程,那么行动是立即执行。如果当前线程不是UI线程,操作是发布到事件队列的UI线程

1 Activity.runOnUiThread(new Runnable() {    
2     public void run() {    
3         Toast.makeText(getApplicationContext(), , "Update My UI", Toast.LENGTH_LONG).show();    
4     }    
5 });    

http://blog.csdn.net/caiwenfeng_for_23/article/details/37579653

以上是关于更新UI——Handler&runOnUiThread的主要内容,如果未能解决你的问题,请参考以下文章

在子线程中更新UI,只能使用Handler

Android Handler 具体解释

Android 更新UI的两种方法——handler和runOnUiThread()

关于Handler的理解,子线程不能更新UI的纠正和回调的思考

android通过Handler使子线程更新UI

Android中handler更新UI