`
Leif_冬
  • 浏览: 48576 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Android开发笔记:使用 runOnUiThread() 方法更新 UI

 
阅读更多
在Android中对UI进行操作是不允许在子线程中进行的,但是直接在主线程中进行UI操作容易造成阻塞导致应用卡顿。一般使用runOnUiThread()方法在需要进行UI操作的时候将当前线程切换到主线程,使用方法如下:
AppActivity.runOnUiThread(new Runnable() {
	@Override
	public void run() {
		// do ui operate
	}
});
 
   这种方式很简单,可以直接在 runOnUiThread() 方法里面更新 UI:
new Thread(new Runnable() {
    @Override
    public void run() {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                mShow.setText("使用runOnUiThread更新ui线程");
            }
        });
    }
}).start();
    
 
分享到:
评论

相关推荐

    Android开发笔记

    ### Android开发笔记 #### Intent 广播机制 在Android应用开发过程中,经常需要实现不同组件间的通信,其中一种常见的通信方式就是使用`Intent`广播机制。`Intent`广播是一种允许发送一个`Intent`到所有已经注册...

    xamarin学习笔记A14(安卓AsyncTask和RunOnUiThread)

    当你需要在主线程中执行UI更新操作,但任务是在其他线程中完成时,可以使用RunOnUiThread()方法。这个方法会确保传入的Runnable对象在主线程中运行,避免了因非主线程修改UI导致的异常。以下是一个例子: ```csharp...

    一些平时的学习笔记C#/OPENCV/Android等

    在Android开发中,由于主线程负责绘制UI界面,因此为了保证UI响应的流畅性,耗时的操作应该放在其他线程中执行。当需要更新UI时,可以通过以下几种方式: - 使用Handler发送消息 - 使用RunOnUiThread方法 - ...

    android学习笔记之消息机制,异步和多线程[参考].pdf

    为了解决这个问题,可以使用`Handler`将更新UI的操作发送回主线程,或者使用`runOnUiThread()`方法。此外,`AsyncTask`是另一个内置的轻量级异步任务类,适合处理短时间的后台任务。它提供了一个简洁的接口来执行...

    Android应用源码之初初级记事本程序,直接写文件.zip

    因此,文件读写这类耗时操作通常在后台线程(如使用`AsyncTask`或`IntentService`)执行,完成后通过`runOnUiThread()`回调主线程更新UI。 9. **版本兼容性**: Android有多个版本和设备,开发者需要关注API兼容性...

    安卓笔记文档

    **使用方法:** 在Java代码中通过`getResources().getColor()`方法获取定义的颜色值。 ```java view.setTextColor(getResources().getColor(R.color.mycolor)); ``` ### 二、按键事件处理 按键事件是安卓应用中...

    wifimanagerapidemo.zip

    5. **UI更新** - 当从后台线程获取到新的WiFi扫描结果或连接状态时,需要在UI线程中更新界面,可以使用`runOnUiThread`或`Handler`来实现。 6. **代码组织** - 了解如何将相关功能封装在单独的类和方法中,保持代码...

Global site tag (gtag.js) - Google Analytics