2011-04-14 43 views
6

你好 我有ListView和文件列表。我点击项目并开始下载这个文件在asynctask。 然后我点击另一个,它必须放在队列中,等待该文件并在完成后开始下载。我可以做一些类,将举行所有点击链接,并将其传递给asynctask下载部分?并以某种方式处理它们。但想知道这是正确的方式吗? 任何链接的sugestions?谢谢asynctask的某种队列

+0

只要他们完成了,如果你不在乎什么时候他们完成了,队列就很好。如果有些需要比别人更早完成,请使用优先级队列。 – bdares 2011-04-14 05:59:08

回答

9

如果你使用AsyncTask,那么,是的,保持你点击的链接,并适时启动新的任务。你应该注意到,AsyncTask就像是Android应用中线程的'小刀'。

如果您确实需要管理一堆后台任务,听起来像您一样,请查看ThreadPoolExecutor。你有很大的灵活性。 BlockingQueue ThreadPoolExecutor More Info Example

1

看看HandlerThread和处理程序类。您需要一个处理程序将任务传递到后台HandlerThread,另一个处理程序将UI线程的结果传递回用户界面

2

即使年老,从Google获得此处:考虑IntentService。