AsyncTask android异常(无法执行任务:任务已经执行)

时间:2016-05-10 20:41:31

标签: java android android-asynctask

我有java.lang.IllegalStateException:无法执行任务:任务已经执行(任务只能执行一次)虽然我像这样创建一个新的AsyncTask实例

all

这是我的代码

default

1 个答案:

答案 0 :(得分:4)

很抱歉,如果您已经解决了问题。 但一般来说,每当你得到这样的例外时,

  

java.lang.IllegalStateException:无法执行任务:任务已执行(任务只能执行一次)

检查您是否遵循以下所有规则:

  1. AsyncTask只能执行一次(如果尝试第二次执行,则会抛出异常。)

    就像多次启动一个线程一样非法的情况。

  2.   

    不止一次启动线程永远不合法。特别是,a   一旦完成执行,线程可能无法重新启动。

    因此,创建像new asyncTask().execute();这样的新实例是唯一的选择

    1. onPreExecute(), doInBackground(), onProgressUpdate(),onPostExecute()不应手动调用。

    2. 必须在UI线程上加载AsyncTask类。这是从JELLY_BEAN开始自动完成的。

    3. 必须在UI线程上创建任务实例。

    4. 必须在UI线程上调用
    5. execute(Params ...)。

    6. 确保您已遵循代码中的所有5条规则。

      了解详情:https://developer.android.com/reference/android/os/AsyncTask.html