0

バックグラウンドで (AsyncTask を使用して) 画像をダウンロードできる「スマート ダウンローダー」を構築したいと考えています。アクティビティには A と B の 2 つがあります。アクティビティ A では、表示する画像の一覧を選択できます (一度もダウンロードされていない場合は、最初のダウンロード)。次に、アクティビティ B に入ります。ここでは、asynctask を起動してバックグラウンドで画像をダウンロードし、UI スレッドで画像をユーザーに表示します。

ダウンロードが完了するまでに数分かかる大きなリストがいくつかあります。トリッキーな問題の 1 つは、asynctask がまだリストをダウンロードしているときに、ユーザーがアクティビティ B を終了する可能性があることです (アクティビティ A に戻ります。(アクティビティ B が破棄されても、非同期タスクは引き続き動作することはわかっています)。しかし、この時点でユーザーが別のリストを表示します (その後、アクティビティ B に入ります) しばらく前のタスクを停止し、最初に新しいリストをダウンロードし始め、次に古いリストをダウンロードしたいと思います.それを行うための私の考えは、以前の asynctask を取得し、ダウンロードを変更することですしかし、asynctask を取得する方法がわかりません。asynctask の再作成に関するいくつかの質問を検索しましたが、それらはすべて再構成後 (画面の回転など) です。バックグラウンドで動作している asynctask を取得する方法はありますか?アクティビティを破棄して再作成した後。

ありがとう!

4

1 に答える 1