Generalidades

Cómo manejar la muerte del proceso de Android | Por Mithat Sinan Sarı | Enero de 2022

¿Alguna vez te has preguntado qué sucede cuando morimos? nadie sabe. Pero sabemos algunas cosas: cuando una aplicación muere, perdemos el estado.

Desafortunadamente, los dispositivos móviles no tienen baterías ilimitadas ni memoria ilimitada. Es por eso que cuando el sistema necesita memoria, mata el proceso para hacer algo de espacio. Por lo tanto, debemos asegurarnos de que nuestra aplicación no se vea afectada por la muerte de este proceso. Si bien es muy importante en términos de experiencia de usuario, la solución es muy simple.

Veamos un ejemplo ;Wmi Hay una aplicación donde cuando obtenemos los detalles del usuario Get User se hace clic en el botón. Este es el estado inicial de la aplicación.

Como manejar la muerte del proceso de Android Por

cuando hacemos clic Get User botón, obtenemos los detalles del usuario de, digamos, una API y actualizamos la interfaz de usuario.

Tenemos un modelo de vista simple para mantener el estado de la interfaz de usuario;

Esta es nuestra clase de estado de UI, solo una clase de datos simple.

Dado que mantenemos la referencia de estado de la interfaz de usuario en ViewModel, la aplicación no pierde estado cuando rotamos el dispositivo o enviamos la aplicación al fondo.

Pero si el sistema elimina la aplicación mientras está en segundo plano, el usuario verá el estado inicial/vacío cuando se vuelva a abrir la aplicación.

Simule la muerte del proceso en Android Studio;
ir con gato de registro -> Terminar la aplicación

O puede habilitar la opción «No mantener actividades» en la configuración de desarrollador de su dispositivo.

Entonces, ¿cómo evitamos la pérdida de estado en este caso? ¿Cómo salvamos el estado y cómo lo manejamos? usamos; SavedStateHandle

Una vez que actualizamos el estado de la interfaz de usuario, lo guardamos en SavedStateHandle Cuando la aplicación se reinicia, comprobamos si guardamos el estado. ¡Es así de simple!

Al aplicar esta solución, debemos considerar algunos puntos clave;

  • Datos que tenemos SavedStateHandle debe ser Parcelable De esta manera podemos escribirlo en el paquete.
  • La cantidad de datos debe mantenerse pequeña, ya que el proceso del sistema debe mantener los datos proporcionados siempre que el usuario pueda volver a la actividad. Android sugiere que deberíamos mantener el estado de guardado en menos de 50k de datos.

Puede ver la aplicación en el repositorio a continuación;

LEER  Google promete solucionar el problema de la pantalla parpadeante de Pixel 6 Pro

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba