He probado la afirmación de que AsyncTasks no se destruyen junto con su actividad de lanzamiento. Y es verdadero.Android ¿Cómo volver a conectarse a AsyncTask después de onDestroy() y reiniciar onCreate()?
me hizo la AsyncTask acaba de publicar un mensaje Log.i()
cada 3 segundos durante 1 minuto. Y pongo el mensaje Log.i()
en el método onDestroy()
de la actividad.
que ver la actividad se destruye, pero el AsyncTask mantiene en ejecución hasta que termine los 20 Log.i()
mensajes.
Y estoy confundido.
¿Qué pasa si el AsyncTask tenía
publishProgress()
en la UI destruida?
Supongo que se produciría algún tipo de excepción, ¿verdad?¿Qué pasa si el AsyncTask almacena datos en una variable global de
class Application
?
¿No tienes idea aquí, excepción de NullPointer?¿Qué pasa si se reinicia la aplicación?
Probablemente lanzará una nueva AsyncTask. ¿Se puede volver a conectar con la aplicación AsyncTask que aún se está ejecutando?IS es destruido el inmortal AsyncTask después de la aplicación de la madre?
Quizás sí, ¿cómo siguen todas las aplicaciones de LogCat registrando mensajes mientras la aplicación de interfaz de usuario ya no está visible, quizás destruida? Y cuando los vuelvas a abrir te muestran los mensajes que se generaron mientras estaba "muerto".
Todo esto parece una discusión, pero la pregunta está en el título. Tengo este AsyncTask huérfano, que me gustaría volver a conectar cuando la aplicación se relanza, pero no sé cómo hacerlo.
me olvidó decirle qué esto es muy importante. La aplicación se destruye cuando ocurre un cambio de orientación. Y no quiero perder los datos producidos por AsyncTask, no quiero detenerlo y reiniciarlo. Solo quiero que continúe y vuelva a conectar después de que se realicen los cambios de orientación.