Cómo cancelar AsyncTask cuando finalice la actividad?
-
22-09-2019 - |
Pregunta
En mi Actividad I utilizar varias clases AsyncTask.
¿Cómo cancelar AsyncTask cuando acabados actividad?
Solución
No entiendo si sus "cancelar" medios rollback pero tiene un cancelar método en el clase AsyncTask .
Otros consejos
Creo que el mejor lugar para hacer esto es onStop
protected void onStop() {
super.onStop();
/*
* The device may have been rotated and the activity is going to be destroyed
* you always should be prepared to cancel your AsnycTasks before the Activity
* which created them is going to be destroyed.
* And dont rely on mayInteruptIfRunning
*/
if (this.loaderTask != null) {
this.loaderTask.cancel(false);
}
}
en mi Tarea I a continuación, comprobar tan a menudo como sea posible si Cancelar fue llamado
protected String doInBackground(String... arg0) {
if (this.isCancelled()) {
return null;
}
}
y de Dont curso se olvide de colocar datos que tal vez devueltos ya que no hay más actividad a recibirlo
protected void onPostExecute(List<UserStatus> result) {
if(!this.isCancelled()) {
//pass data to receiver
}
}
El hilo AsyncTask se mantiene viva en un grupo de subprocesos para casos futuros de AsyncTask. No se puede quitar ellos.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow