我想安排或排队在后台执行Multiple AsyncTask。我有一个在Service中运行的HTTP post请求的AsyncTask,同时我在AsyncTask的UI线程中再发一个HTTP请求。
UI线程执行时间太长,因为已经有一个线程正在服务中运行。 如何解决这个问题。
我需要暂停服务线程,我想首先执行UI线程,然后再次为AsyncTask重新启动服务线程。
提前致谢
答案 0 :(得分:1)
由于AsyncTasks可以共享一个线程,我会尝试通过调用来解耦它们:
my_task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void[])null);
取代my_task.execute((Void[])null)
如本回答所述:Android SDK AsyncTask doInBackground not running (subclass)
另一种方法是使用Executor框架和ThreadPoolExecutor。