A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

由于性能要求,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

1 个回复

倒序浏览
加油,越努力越幸运
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马