Android异步更新UI的方式之使用AsyncTask异步任务

由于性能要求,android要求只能在UI线程中更新UI,要想在其他线程中更新UI,给大家介绍一种方式:使用AsyncTask异步任务。

下面用这种方式更新一个TextView:

注:更新UI的操作只能在onPostExecute(String result)方法中。

1.package com.example.runonuithreadtest;

2.import android.app.Activity;

3.import android.os.AsyncTask;

4.import android.os.Bundle;

5.import android.widget.TextView;

6.public class MainActivity extends Activity {

7.private TextView tv;

8.@Override

9.protected void onCreate(BundlesavedInstanceState) {

10.super.onCreate(savedInstanceState);

11.setContentView(R.layout.activity_main);

12.tv =(TextView) findViewById(R.id.tv);

13.newYibu().execute();

14.}

15.class Yibu extends AsyncTask

16.{

17.@Override

18.protected String doInBackground(String...params) {

19.try{

20.Thread.sleep(2000);

21.}catch (InterruptedException e) {

22.// TODO Auto-generated catch block

23.e.printStackTrace();

24.}

25.return null;

26.}

27.@Override

28.protected void onPostExecute(String result) {

29.// TODO Auto-generated method stub

30.tv.setText("更新后的TextView");

31.}

32. }

33. }

当然对APP的性能测试,我比较常用的是这个平台:www.ineice.com

你可能感兴趣的:(Android异步更新UI的方式之使用AsyncTask异步任务)