【问题标题】:Schedule multiple async task in android在android中安排多个异步任务
【发布时间】:2014-04-01 13:32:18
【问题描述】:

我想安排或排队在后台执行多个 AsyncTask。我有一个用于在服务中运行的 HTTP 发布请求的 AsyncTask,同时我在 AsyncTask 的 UI 线程中再发出一个 HTTP 请求。

UI 线程执行时间过长,因为已经有一个线程正在运行。 如何解决这个问题。?

我需要暂停一个服务线程,我想先执行 UI 线程,然后再次为 AsyncTask 重新启动一个服务线程。

提前致谢

【问题讨论】:

    标签: java android multithreading android-asynctask priority-queue


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-28
      • 1970-01-01
      相关资源
      最近更新 更多