我想知道异步任务和线程之间的关系?每一个都创建一个新的,它是缓存,汇集。
答案 0 :(得分:3)
默认情况下,Asynctask使用串行执行器,因此单个线程用于在单个进程中执行所有asynctasks。但你可以改变它。
检查doc。
启动HONEYCOMB,任务将重新开始执行 线程,以避免并行引起的常见应用程序错误 执行。如果你真的想要并行执行,你可以使用 executeOnExecutor(Executor,Params ...)此方法的版本 THREAD_POOL_EXECUTOR;
您还可以查看Asynctask here
的来源答案 1 :(得分:0)
从Android文档本身,AsyncTasks允许“无痛多线程”,因此AsyncTasks显然在后台使用线程。
我最近在Eclipse中使用DDMS插件描述了我的应用程序,这是一个以常规(非常接近)间隔启动AsyncTasks的应用程序。使用DDMS,您可以看到当前运行的线程数及其名称。
从我在那里看到的,AsyncTasks使用线程池来管理AsyncTasks。在我的例子中,有5个线程名为“AsyncTask#1”到“AsyncTask#5”,在一个循环中一个接一个地激活。
希望这能回答你问题的一部分!