我正在处理 Android 异步任务。我曾尝试在主类中实现几个异步任务。但是,无论我调用哪个任务,都只会加载第一个实现。为什么会发生这种情况,我该如何解决?任何帮助将不胜感激。
问问题
269 次
2 回答
0
于 2012-11-20T15:29:21.790 回答
-1
我在使用 AsyncTask 时遇到过类似的问题,显然没有您的代码,我无法告诉您您的具体问题是什么。但是,我看到的与您类似的大多数问题都是由于以下几点:
“理想情况下,AsyncTasks 应该用于短操作(最多几秒钟)。如果您需要保持线程长时间运行,强烈建议您使用 java.util.concurrent 包提供的各种 API,例如作为 Executor、ThreadPoolExecutor 和 FutureTask。”
此外,如果您希望 AsyncTasks 同时运行,您可能做错了:
首次引入时,AsyncTask 在单个后台线程上串行执行。从 DONUT 开始,这被更改为允许多个任务并行运行的线程池。从 HONEYCOMB 开始,任务在单个线程上执行,以避免并行执行导致的常见应用程序错误。
如果你真的想要并行执行,你可以使用 THREAD_POOL_EXECUTOR 调用 executeOnExecutor(java.util.concurrent.Executor, Object[])。
于 2012-11-20T15:35:35.713 回答