如果doInBackground中正在进行任何内部线程,并且响应返回需要更多时间,而且如果再次调用相同的异步任务,则如何终止doInBckground中的先前线程并运行新的?有人可以帮助我吗?先谢谢。
答案 0 :(得分:1)
根据Google的说法,您无法两次调用相同的asynctask对象。如果你这样做会引发异常。
该任务只能执行一次(如果尝试第二次执行则会抛出异常。)
有关详细信息,请参阅文档here。阅读'线程规则'章。
正如@greenapps所说,不要使用doInBackground
内的任何线程。 doInBackground
本身在一个线程下运行。
如果要取消当前正在运行的asynctask对象的cancel(true)
方法的前一个asynctask。如果您重新运行该任务,则重新初始化该对象并再次执行它。