我想构建一个“智能下载器”,可以在后台下载图像(使用 AsyncTask)。有两个Activity,A和B。在Activity A中,我可以选择我要查看的图片列表,(如果没有下载过就先下载)。然后进入活动 B,这里我启动了一个异步任务来在后台和 UI 线程中下载图像,将图像显示给用户。
有一些大型列表可能需要几分钟才能完成下载。一个棘手的问题是,当 asynctask 仍在下载列表时,用户可能会退出活动 B(回到活动 A。(我知道即使活动 B 被破坏,异步任务仍将继续工作)。但如果此时用户选择另一个要查看的列表(然后进入活动B)。我想停止之前的任务一段时间,开始先下载新列表,然后是旧列表。我的想法是检索之前的asynctask并修改下载顺序。但我不知道如何检索异步任务,我搜索了一些关于重新创建异步任务的问题,但它们都是关于重新配置后的(比如旋转屏幕)。有没有办法检索后台工作的异步任务,在我销毁活动并重新创建它之后。
谢谢!