黑马程序员技术交流社区

标题: Android异步更新UI的方式之使用runOnUiThread(action)方法 [打印本页]

作者: asd19860    时间: 2015-9-17 11:52
标题: Android异步更新UI的方式之使用runOnUiThread(action)方法
由于性能要求,android要求只能在UI线程中更新UI,要想在其他线程中更新UI,给大家介绍一种方式:使用runOnUiThread(action)方法

下面用这种方式更新一个TextView:
  1. package com.example.runonuithreadtest;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.widget.TextView;
  5. public class MainActivity extends Activity {
  6. private TextView tv;
  7. @Override
  8. protected void onCreate(Bundle savedInstanceState) {
  9.   super.onCreate(savedInstanceState);
  10.   setContentView(R.layout.activity_main);
  11.   tv = (TextView) findViewById(R.id.tv);
  12.   new MyThread().start();
  13. }
  14. class MyThread extends Thread
  15. {
  16.   @Override
  17.   public void run() {
  18.    runOnUiThread(new Runnable() {
  19.     @Override
  20.     public void run() {
  21.      // TODO Auto-generated method stub
  22.       try {
  23.        //延迟两秒更新
  24.        Thread.sleep(2000);
  25.       } catch (InterruptedException e) {
  26.        e.printStackTrace();
  27.       }
  28.       tv.setText("更新后的TextView");
  29.     }
  30.    });
  31.   }
  32. }
  33. }
复制代码


当然对APP的性能测试,我比较常用的是这个平台:http://www.ineice.com
作者: 侯越强    时间: 2015-9-17 14:47
加油,越努力越幸运




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2