0

私のアプリケーションには、UIThread 内で多くの値を計算し、その後それらを画面上に描画する長いループが含まれています。

を使用して計算ループを別のスレッドにオフロードするAsyncTaskと、ドキュメントによると MyAsyncTask.execute() を複数回実行できなくなります。「タスクは 1 回だけ実行できます」。コードを実行しようとすると、単一のフレームが描画されているのを確認できましたが、「タスクを実行できません: タスクは既に実行されています (タスクは 1 回しか実行できません)」という例外がスローされました。

描画ループの反復ごとに新しいオブジェクトを作成するのは得策ではないAsyncTaskため、同じ AsyncTask オブジェクトを再利用して MyAsyncTask.execute() を再度実行する方法はありますか? または、そうでない場合、使用するより適切な方法は何ですか? 他の形式のスレッドでこれを達成できますか?

4

1 に答える 1

2

実行するたびに AsyncTask クラス オブジェクトを作成します。

    Task _task=new Task();
    _task.excute();

詳細については、このチュートリアルのリンクをお読みください

于 2012-10-02T12:32:05.963 に答える