由于性能要求,android要求只能在UI線程中更新UI,要想在其他線程中更新UI,給大家介紹一種方式:使用AsyncTask異步任務(wù)。
下面用這種方式更新一個(gè)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. }
當(dāng)然對(duì)APP的性能測(cè)試,我比較常用的是這個(gè)平臺(tái):www.ineice.com