execute()调用异步任务需要1秒钟才能调用doInBackground()方法

时间:2012-11-09 07:02:10

标签: android android-asynctask

我正在处理异步任务。当我在异步任务上调用execute()时,需要1秒钟来调用我不想要的异步任务doInBackground()方法。有谁知道如何缩短那段时间?

3 个答案:

答案 0 :(得分:0)

这些事情取决于系统。在处理多线程时,永远不要假设任何关于计时的事情!

无论如何,如果您的AsyncTask重复执行相同的工作,请尝试使用ExecutorService获取Runnable作为参数。 ExecutorServices不会自动销毁创建的线程,但会尝试重新使用它。这样可以缩短启动时间。

答案 1 :(得分:0)

一秒钟呼叫doInBackground(),或一秒钟返回结果?使用AsyncTask的原因是从UI线程异步执行更长的操作。执行需要一段时间(例如1秒)的操作是它们存在的原因。

答案 2 :(得分:0)

而不是execute()使用executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ...)这样您就不需要ExecutorService。