3

キューなどでAsyncTask実行への複数の呼び出しを簡単に配置し、それらをシリアルに実行する方法を知っている人はいますか?

呼び出された非同期タスクが終了するまで待機させたいのですが、現在実行中のタスクのステータスをテストしても、これを実行できないようです。

これを解決する方法はありますか?ハニカムAPIには、を使用したメソッドexecuteOnExecutor()があることを確認しSERIAL_EXECUTORました。これは、私が説明したことを実装していると思います。しかし、私はハニカム用に開発していません。

ありがとう!

4

3 に答える 3

1

Honeycomb 以降の Android バージョンでは、Asynctask のデフォルトのエグゼキュータがシリアル エグゼキュータになっています。だからあなたの分なら。SDK のバージョンと対象の SDK のバージョンが 12 以上の場合、Asynctasks はその実行関数の呼び出しに従って実行されます。Asynctask に関する私の議論を参照してください。

https://docs.google.com/document/d/1_zihWXAwgTAdJc013-bOLUHPMrjeUBZnDuPkzMxEEj0/edit?usp=sharing

これがお役に立てば幸いです...

于 2013-12-04T01:20:36.263 に答える
0

私はこのようにします。アクティビティでAsyncTAsk(AsyncTaskの同じクラスまたは異なるクラス)を実行する回数の配列またはキューまたはカウンターを用意します。AsyncTaskでは、onPostExecute()で、カウンターをデクリメントします(または同様のデータ構造)、AsyncTaskを再度呼び出します。

于 2011-07-31T17:06:39.487 に答える