Saltar al contenido

Android: onDestroy() o método similar en la clase de aplicación

Necesitamos tu ayuda para extender nuestras crónicas referente a las ciencias informáticas.

Solución:

No existe tal devolución de llamada en un dispositivo de producción para la clase de aplicación.

Las cosas que desea hacer por lo general deben hacerse justo después de realizar los cambios, o en el onPause() del respectivo componente de la aplicación.

En Android, no existe el concepto de cerrar una aplicación. El usuario simplemente se va: este es el único evento del que estará al tanto (onPause() en una actividad). Debe diseñar su aplicación para que se ajuste a este ciclo de vida.

Por lo general, debe guardar los cambios de inmediato, pero de forma asincrónica, para que la interfaz de usuario no se cuelgue. Esto es mucho mejor que guardar los cambios en onPause() porque si sucede algo malo antes de que la aplicación se detenga (la aplicación falla, el usuario se queda sin batería), todos los datos ya se guardaron correctamente.

SharedPreferences ya guarda los cambios de forma asincrónica, por lo que si usa eso, no tiene nada más que hacer. De lo contrario, puede usar rutinas de Kotlin o si usa Java, el viejo y bueno AsyncTask es genial.

Puedes anular onDestroy() en el Activity cuál será el último cerrado en su aplicación y verifique si está terminando. En este caso, su código no se invocará en una rotación de dispositivos. Pero debes ser consciente de que onDestroy() no se invoca cuando una aplicación se cierra a través del botón de inicio del dispositivo.

@Override
public void onDestroy()
    super.onDestroy();
    if(isFinishing())
        //do your stuff here
    

Aquí tienes las comentarios y puntuaciones

Si conservas alguna perplejidad o capacidad de enriquecer nuestro crónica eres capaz de escribir una explicación y con mucho placer lo leeremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *