0

次のスレッドタスクを実行しています。

public class LoadCellTask extends AsyncTask<Object, Object, Void> {
        protected Void doInBackground(Object... params) {

           // 1

            publishProgress();

           // 3

        }
}

protected void onProgressUpdate(Object... params) {

     // Do UI tasks on Main thread
     // 2
}

このスレッドの順序は1、2、3になりますか?それとも実際に1、3、2に行くことができますか?

onProgressUpdateを呼び出すと、進行状況の更新が完了するまでスレッド化されたタスクが停止しますか?それとも、通話後も実行を続けますか?

4

1 に答える 1

1

最初の質問の答え..

1,2,3 と 1,3,2 のどちらの順序になるかは決まっていません。これは、publishProgress メソッドを呼び出した後、システムが onProgressUpdate メソッドの発生を処理するため、これがいつ発生するかを正確に判断できないためです。両方の注文が可能です

2番目の質問の答え..

番号。タスクは中断なく実行されます

于 2012-12-04T08:26:24.897 に答える