私のアプリケーションには、UIThread 内で多くの値を計算し、その後それらを画面上に描画する長いループが含まれています。
を使用して計算ループを別のスレッドにオフロードするAsyncTask
と、ドキュメントによると MyAsyncTask.execute() を複数回実行できなくなります。「タスクは 1 回だけ実行できます」。コードを実行しようとすると、単一のフレームが描画されているのを確認できましたが、「タスクを実行できません: タスクは既に実行されています (タスクは 1 回しか実行できません)」という例外がスローされました。
描画ループの反復ごとに新しいオブジェクトを作成するのは得策ではないAsyncTask
ため、同じ AsyncTask オブジェクトを再利用して MyAsyncTask.execute() を再度実行する方法はありますか? または、そうでない場合、使用するより適切な方法は何ですか? 他の形式のスレッドでこれを達成できますか?