android.os.AsyncTask注意问题

android.os.AsyncTask在使用的时候,有几点需要格外注意:

1.异步任务的实例必须在UI线程中创建。

2.execute(Params... params)方法必须在UI线程中调用。

3.不要手动调用onPreExecute(),doInBackground(Params... params),onProgressUpdate(Progress... values),onPostExecute(Result result)这几个方法。

4.不能在doInBackground(Params... params)中更改UI组件的信息。

5.一个任务实例只能执行一次,如果执行第二次将会抛出异常


@Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
          
        mImageView= (ImageView) findViewById(R.id.imageView);  
        mButton = (Button) findViewById(R.id.button);  
        mProgressBar = (ProgressBar) findViewById(R.id.progressBar);  
        mButton.setOnClickListener(new OnClickListener() {  
              
            @Override  
            public void onClick(View v) {  
            //异步对象
                GetCSDNLogoTask task = new GetCSDNLogoTask();  
                task.execute("http://www.baidu.com/img/baidu_sylogo1.gif");  
            }  
        });  
    }  

你可能感兴趣的:(UI,任务,button)