0

これはややデザイン固有の質問ですが、私は正しいアドバイスを探しています。

私のアプリには6ページのA、B、Cがあり、それぞれがサーバーからデータをダウンロードして表示します。この場合、以下のアプローチの中でどれが良いでしょう。

1. A、B、Cごとに内部非同期タスククラスを書き込みます2.これらのアクティビティごとにasyntaskA、asyntskBなどの個別のasyntaskを書き込みます3.単一の非同期タスクを記述し、asyctaskのインスタンスを作成するrequestcontrollerクラスを介して各アクティビティのリクエストをルーティングします。コンテキスト、URLパラメータを渡す

2番目のアプローチを採用した場合、実行中の状態Activityで相互Activityに実行することは可能ですか?onpauseasynctask

4

2 に答える 2

1

各ページで、同じような操作(この場合のようにデータをダウンロードして表示する)を行う場合は、別のAsyncTaskクラスを記述する必要はありません。必要なだけインスタンスを作成し、execute()メソッドを呼び出すだけです。AsyncTaskクラスはこれをスレッドセーフな方法で処理します。

質問の2番目の部分は少し不明確ですが、アクティビティを切り替えることを意味する場合は、単一の の複数のインスタンスで可能AsyncTaskです。アクティビティの状態を保存して復元する必要があります。

実行する操作に時間がかかる場合、たとえば数秒以上かかる場合、 を使用するのは安全ではありませんAsyncTask。より良いオプションはService.

于 2012-09-18T18:46:31.473 に答える
0

複数の AsyncTask があっても問題ありません。私のアプリの 1 つで、画像を含むグリッド ビューがあり、すべての画像を読み込んでサムネイル画像を生成するための AsyncTask があります。それらはすべて非常にうまく並行して実行されます。

于 2012-09-18T18:36:29.023 に答える