Android:如果在任务 运行 时调用 AsyncTask execute() 会发生什么情况?
Android: What happens if AsyncTask execute() is called while the task is running?
假设有一个从 UI 按钮触发的 AsyncTask,单击按钮会触发 execute() 以启动任务。如果任务正在执行,用户再次调用 execute() 会发生什么?
我知道这可以通过检查 AsyncTask.getStatus()
来避免,但如果我不想检查它会怎样?
由于 AsyncTask 文档:
要使 class 正常工作,必须遵循一些线程规则:
必须在 UI 线程上加载 AsyncTask class。这是从 JELLY_BEAN.
开始自动完成的
- 任务实例必须在 UI 线程上创建。
execute(Params...) 必须在 UI 线程上调用。
- 不要手动调用 onPreExecute()、onPostExecute(Result)、oInBackground(Params...)、onProgressUpdate(Progress...)。
- 任务只能执行一次(如果尝试第二次执行,将抛出异常。)
希望对您有所帮助!
假设有一个从 UI 按钮触发的 AsyncTask,单击按钮会触发 execute() 以启动任务。如果任务正在执行,用户再次调用 execute() 会发生什么?
我知道这可以通过检查 AsyncTask.getStatus()
来避免,但如果我不想检查它会怎样?
由于 AsyncTask 文档:
要使 class 正常工作,必须遵循一些线程规则:
必须在 UI 线程上加载 AsyncTask class。这是从 JELLY_BEAN.
开始自动完成的- 任务实例必须在 UI 线程上创建。 execute(Params...) 必须在 UI 线程上调用。
- 不要手动调用 onPreExecute()、onPostExecute(Result)、oInBackground(Params...)、onProgressUpdate(Progress...)。
- 任务只能执行一次(如果尝试第二次执行,将抛出异常。)
希望对您有所帮助!