, Как отменить AsyncTask
, который Полный ответ здесь - пример Android AsyncTask
, AsyncTask предоставляет лучшую стратегию отмены, для завершения в настоящее время выполняющейся задачи.
отмена (булевская переменная mayInterruptIfitRunning)
myTask.cancel (ложь) - Это делает isCancelled, возвращает true. Помогает отменить задачу.
myTask.cancel (истинный) †“Это также делает isCancelled (), возвращает true, прервите фоновый поток, и уменьшает ресурсы.
считается как высокомерный путь, Если будет какой-либо thread.sleep () метод, работающий в фоновом потоке, (то верная) отмена прервет фоновый поток в то время. Но отмена (ложь) будет ожидать его и отменять задачу, когда тот метод завершится.
, Если Вы вызываете отмену () и doInBackground () hasn’t начатый, выполняются все же. onCancelled () вызовет.
После вызова отмены (†¦) Вы должны контрольное число, возвращенное isCancelled () на doInbackground () периодически. точно так же, как показано ниже.
protected Object doInBackground(Params… params) {
while (condition)
{
...
if (isCancelled())
break;
}
return null;
}