¿Cuál es la principal ventaja y la desventaja de "no mantener las actividades" en android

Una consulta que me gustaría tener si alguien pudiera responder como: Do not keep activities opciones que se verán durante la prueba de la aplicación Android android de las opciones de los desarrolladores.

Lo usé en mi aplicación y encontré que mi aplicación se comporta de manera inapropiada y se estrelló al encenderlo Do not keep activities en android.

Mis preguntas eran pocas:

1: How much this option will affect mobile applications?

2: What exactly does this do?

Suena como un asesino de la aplicación, me doy cuenta en las opciones de desarrollador hay una caja que dice No mantener las actividades – destroy every activity as soon as the user leaves it .

¿Esto crea alguna funcionalidad positiva y / o negativa en mis aplicaciones?

¿Eso significa que si abro una aplicación y tan pronto como lo deje, en realidad se cierra esa aplicación y no lo vería en el administrador de tareas para matarlo manualmente? Si es así, ¿no es esto una buena cosa para mantener el uso de RAM bajo?

¿Cuáles fueron las ventajas y desventajas de usarlo mientras se mantiene Do not keep activities , por favor comparta la experiencia en él.

¿Cuánto afectará esta opción a las aplicaciones móviles?

Si están bien escritos, esta opción no los afectará.

¿Qué hace esto exactamente?

Si esta opción está activada, solo las variables guardadas en la actividad con el método onSaveInstanceState se guardarán cuando vayas a otra actividad o la aplicación quede en segundo plano. Todas las demás variables serán eliminadas inmediatamente. Cuando esta opción está desactivada existe la posibilidad de que esta variable se mantenga

¿Eso significa que si abro una aplicación y tan pronto como lo deje, en realidad se cierra esa aplicación y no lo vería en el administrador de tareas para matarlo manualmente?

No, significa que todas las variables no guardadas se eliminarán. Cuando por ejemplo presione el botón de inicio.

¿Esto crea alguna funcionalidad positiva y / o negativa en mis aplicaciones?

No sólo ayuda a desarrollar la aplicación correctamente. Ayuda a predecir situaciones inesperadas.

No Mantenga Actividades es puramente una opción de desarrollador que le ayudará a comprobar si

  1. Ha guardado el estado de la actividad, antes de que pase al fondo.

2. manejado memoria baja situaciones correctamente (en cuyo caso la actividad será destruido). ̶

Editar : Esta opción no emula situaciones de memoria baja. Cuando el dispositivo experimenta poca memoria, el sistema puede pedir a la actividad que abandone llamando a Finish () o puede seguir adelante y matar el proceso completamente, como dice el comentario.

Todavía es bueno desarrollarse con esta opción habilitada. Tendrá que codificar adecuadamente los onSaveInstanceState() y onRestoreInstanceState() . Al hacer esto, incluso si el proceso se pierde, cuando el usuario vuelve a esta actividad, onCreate () se llamará con el savedInstanceState que se guardó en el onSaveInstanceState(Bundle) .

VENTAJA :

El desarrollador puede comprobar el comportamiento anormal de su aplicación y arreglar los casos de low memory - framework kills the application

DESVENTAJA :

Si el usuario ha habilitado esta opción sin saberlo, el dispositivo funcionará lentamente y todas las actividades se volverán a crear a través de la navegación del usuario en su dispositivo. Esto dificultará el trabajo del usuario

Muy buena respuesta se da en el foro de desarrolladores xda sobre el uso de esta opción

Como una adición a las respuestas anteriores es otra, no es visible desde la primera mirada desventaja que sólo puede probar la actividad de destruir / recreación con esta opción, pero no todo el proceso de recreación de aplicaciones debido a la falta de memoria u otras condiciones del sistema, De la memoria de actividad permanece.

Imagine que tiene un singleton en el que sus clases son dependientes. Después de que el sistema haya matado la aplicación sus singletons serán también despejados y restaurados con el estado del principio en caso de que usted no haya aplicado su restauración por se. Por lo tanto, a pesar de su estado de actividad, los campos & state se restaurarían en caso de que onSaveInstanceState & onRestoreInstanceState se implementara correctamente, eso no garantiza un comportamiento correcto de la aplicación después de restaurar, incluso en la pantalla en particular. Eso debe ser considerado

Por lo tanto, para probar este caso, debe detener la aplicación de forma manual, pero no la deje caer desde el administrador de tareas. Manera más fácil – con el botón cuadrado rojo de la parada en estudio del androide. Y vuelve a abrir la aplicación.

Ver más

"No mantener las actividades" ventaja es que emular el sistema de memoria baja situación cuando comienza a matar diferentes partes de la aplicación. Su aplicación debe mantener esta situación. La desventaja es que esta opción es una especie de stricted y matar sólo las actividades cuando no hay manera de emular esto para los servicios

  • Práctica recomendada para mantener los datos en la memoria y la base de datos al mismo tiempo en Android
  • Eficiencia de Android: importar métodos estáticos o importar la clase
  • Android adb velocidad usb
  • WebView no carga la página web
  • ¿Importa en qué orden llamo finish () y startActivity ()?
  • Limitación del tamaño de la textura? Android Open GL ES 2.0
  • ¿Por qué los pesos anidados son malos para el rendimiento? ¿Alternativas?
  • ¿Es mejor usar múltiples SpanObjects o múltiples TextViews en Android?
  • Mejores Prácticas de Android - Comunicación entre Actividad y Fragmentos
  • Anulación de variables de Fragmento on onDestroy ()
  • Sencha Touch 2 - Desempeño de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.