我正在处理异步任务。当我调用异步任务时,调用我不想要的异步任务方法execute()
需要 1 秒。doInBackground()
有谁知道如何减少那个时间?
问问题
217 次
3 回答
0
这样的事情取决于系统。在多线程工作时,永远不要假设任何关于时间的事情!
无论如何,如果您的 AsyncTask 重复执行相同的工作,请尝试使用获取 Runnable 作为参数的 ExecutorService。ExecutorServices 不会自动销毁创建的线程,而是尝试重新使用它。这样可以减少开始时间。
于 2012-11-09T07:05:46.480 回答
0
一秒调用doInBackground()
,还是一秒返回结果?使用 an 的原因AsyncTask
是从 UI 线程异步执行更长的操作。执行需要一段时间(例如 1 秒)的操作是它们存在的原因。
于 2012-11-09T07:07:50.520 回答
0
而不是execute()
使用executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ...)
这种方式你不需要 ExecutorService。
于 2012-11-09T13:02:14.710 回答