1

基本上我想启动几个线程一个接一个地执行。我正在使用Thread.join()它。但是应用程序类型挂起并进入 ANR 状态。我想知道将 AsyncTask 放入循环中会一个接一个地串行执行所有任务,还是并行执行?

for(String s : list)
{
    new asynctask(s).execute();
}
4

1 回答 1

2

基本上我想启动几个线程一个接一个地执行。

阅读此声明后,我立即想到的是您应该考虑使用 IntentService 而不是每次都创建新任务。

基本上 IntentService 是

IntentService 通过 Intent 接收一个请求,其中包含一些关于要完成的任务的信息。然后将此任务添加到队列中,然后按顺序异步完成所有任务。

使用的好处IntentService

它将保证该操作至少具有“服务进程”优先级,无论活动发生什么情况。强烈建议您要顺序下载多个文件时。

在这里你会找到关于如何实现的非常好的教程IntentService

http://mobile.tutsplus.com/tutorials/android/android-fundamentals-intentservice-basics/

于 2012-07-09T06:31:33.233 回答