¿Puedo saber cuál es la forma correcta de saber si una actividad ha sido destruida? Actualmente, estoy usando la siguiente manera.Manera correcta de saber si una actividad ha sido destruida
private volatile boolean isOnDestroyCalled = false;
@Override
protected void onDestroy() {
super.onDestroy();
isOnDestroyCalled = true;
}
public boolean isOnDestroyCalled() {
return this.isOnDestroyCalled;
}
¿Hay alguna otra forma mejor que la anterior?
No entiendo muy bien tu problema, ¿cuándo quieres saber esto ?, ¿estás destripando la actividad o hay algo más que desencadene la destrucción? Siempre puede activar Finish(); para destruirlo Aquí hay un poco de ayuda http://developer.android.com/reference/android/app/Activity.html – najk
Necesito saber esto yo mismo porque tuve una tarea asíncrona que desencadenó una devolución de llamada en la actividad, que podría haber sido destruida mientras tanto. Mi solución fue mantener una referencia a la devolución de llamada en la actividad, una referencia a la actividad en la devolución de llamada, y anular la referencia en la devolución de llamada cuando se destruía la actividad, por lo que la devolución de llamada no realiza nada si es nula. – qix
@Linus La técnica más conocida hasta ahora es utilizar fragmento de instancia retenido: http://stackoverflow.com/questions/8417885/android-fragments-retaining-an-asynctask-during-screen-rotation-or-configuratio –