如何使用Android中的AsyncTask并行运行多个后台任务..?

时间:2014-06-27 19:04:46

标签: android

我是android开发的初学者。我已经尝试使用简单的execute()来完成1个任务,但效果很好。但我现在遇到一个问题,我需要在后台使用AsyncTask同时执行3-4个任务。我已经看到了几个这方面的问题,但我会看到一个代码来做同样的事情。我认为executeOnExecutor()是我的问题的答案,但我想看到它的一个例子。有人可以用一个简单的例子来解释我如何使用AsyncTask同时运行说2个任务吗?

2 个答案:

答案 0 :(得分:3)

docs for AsyncTask涵盖了此内容。默认情况下,所有AsyncTasks都发生在一个线程上。要使用多个线程,您需要使用不同的执行程序。 AsyncTask有一个可以使用的线程池执行器:

task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params);

答案 1 :(得分:0)

我强烈建议不要使用多个异步任务。我之前做过那件事并遇到了很多问题。 See this SO post。会发生什么是一个异步任务将在开始之前等待另一个完成。尝试使用runnable:

Runnable myRunnable = new Runnable() {
    @Override
    public void run() {
        //Code
    }
};
new Thread(myRunnable).start();