您好 我有ListView文件列表。我点击项目并开始在asynctask中下载此文件。 然后我点击另一个,它必须放入队列,等待该文件,并在完成后开始下载。我可以创建一个将保存所有点击链接的类,并将其传递给asynctask下载部分?并以某种方式处理它们。但想知道这是正确的方法吗? 任何吸烟的链接?谢谢
答案 0 :(得分:9)
如果您已开始使用AsyncTask,那么,请保留您点击的链接并在适当的时候启动新任务。您应该注意,AsyncTask就像是Android应用程序中线程的“小刀”。
如果你真的需要管理一堆后台任务,听起来就像你那样做,请看一下ThreadPoolExecutor。你获得了很大的灵活性。 BlockingQueue ThreadPoolExecutor More Info Example
答案 1 :(得分:2)
即使年纪大了,从谷歌来到这里:考虑一个IntentService。
答案 2 :(得分:1)
看看HandlerThread和Handler类。您需要一个处理程序将任务传递给后台HandlerThread,另一个用于UI线程将结果传递回UI