51 votos

¿Por qué es mejor que un iPhone de la batería para NO cerrar las aplicaciones?

Sé que al parecer no es una buena idea para cerrar apps en su iPhone para ahorrar en batería. He leído las preguntas y respuestas como forzar el cierre de aplicaciones tienen ningún beneficio en los dispositivos iOS? pero aún no acaba de gel conmigo. A veces me he encontrado más de 50 aplicaciones que se están ejecutando, por lo que no se cierre no tiene sentido.

Tal vez soy un poco de un viejo chook y simplemente no se puede enseñar a los perros viejos trucos nuevos, pero ¿puede alguien explicar aquí por QUÉ es mejor mantener todas estas aplicaciones que se están ejecutando? Y cuando digo "explicar" quiero decir, en términos sencillos para que yo pueda entender.

65voto

Monomeeth Puntos 139

Usted no está solo. La gente sólo se utilizan para su equipo de escritorio hábitos, y es comprensible que llevan estos hábitos a sus iPhones y iPads.

Sin embargo, voy a tratar de explicar esto mediante una analogía:

Imaginar es un día caluroso y estás fuera de la jardinería. De tener sed, por lo que ir dentro de la cocina, tome un vaso grande, pon un poco de hielo en ella, y llenarlo con agua. Luego de beber la mitad y vacía el resto en el fregadero antes de ir hacia afuera. No mucho más tarde, de tener sed de nuevo, para volver a entrar a la cocina, coge el vaso, pon un poco de hielo en ella, y llenarlo con agua. De nuevo sólo toma la mitad y vacía el resto en el fregadero!

El anterior flujo de trabajo sólo en realidad no tiene sentido. ¿Por qué no tomar el cristal exterior con usted? Y, usted no sólo está perdiendo agua por el vaciado, pero usted está gastando más tiempo y energía en conseguir que el agua de nuevo.

Del mismo modo, al salir de una aplicación que está utilizando un poco de batería en el proceso de hacerlo (por ejemplo, limpieza de RAM, etc) y, a continuación, de nuevo más tarde, cuando tienes que ejecutarlo de nuevo y cargar de nuevo en la memoria RAM.

Así que, para una gran mayoría de las veces es mejor dejar aplicaciones abiertas. A pesar de que está abierto, que en realidad son sólo sentado en un tipo de suspensión de modo que no usa la energía de la batería en absoluto. Sí, la aplicación se carga en la memoria RAM y tomar el espacio, pero en realidad no hacer nada - es sólo está ahí, latente. Y, porque no utiliza la energía de la batería en este estado, no hay ninguna ventaja para dejar de fumar de una batería de conservación punto de vista - especialmente si es un app que usted sabe que usted va a utilizar una y otra vez durante todo el día.

También hay realmente ninguna ventaja para forzar la salida de una aplicación, porque iOS sí va a hacer esto para usted si/cuando sea necesario , a fin de liberar la memoria RAM. Así que si usted tiene 50 de las aplicaciones abiertas y se quedan abiertos, a continuación, iOS no ha sido empujado hasta el punto de tener que cerrar cualquiera de ellos para liberar memoria.

Ahora, como todo, siempre hay excepciones a la regla (como las aplicaciones que tienen para realizar tareas en segundo plano). Un ejemplo de esto es uno que toca música mientras haces otras cosas con su teléfono, o que la descarga de contenido en el fondo, o a uno que está contando el número de pasos que usted camina en un día, etc. Sin embargo, iOS tiene un muy eficiente proceso de gestión de los antecedentes apps/tareas y si usted decide salir de esto que estás diciendo básicamente que usted no confía en el sistema operativo para hacer su trabajo correctamente.

Así que siéntase libre de dejar tus aplicaciones cuando usted tiene (por ejemplo, porque está congelado, etc), pero no lo hacen para conservar la energía de la batería. De hecho, si usted lo hace, usted será la consecución de los opuestos y el uso de más energía de la batería durante todo el día!

Resumen

  • Sólo se necesita dejar de aplicaciones si no están funcionando adecuadamente (por ejemplo, una aplicación se ha congelado, no se muestra correctamente, etc).
  • Apps en el App Switcher no son necesariamente ejecución - de hecho, la mayoría de ellos no se ejecuta en absoluto.
  • La mayoría de las aplicaciones en el App Switcher estará en un estado de suspensión - esto significa que no están: visible en la pantalla, la ejecución de código, uso de la CPU o la GPU, o el uso de la batería. Sin embargo, son todavía residente en la memoria hasta que se purgan (si es necesario) por el sistema para liberar memoria:

    Suspendido - La aplicación está en el fondo, pero no es la ejecución de código. El sistema se mueve apps a este estado de forma automática y no se les notificará antes de hacerlo. Mientras esté suspendido, una aplicación permanece en la memoria pero no se ejecuta ningún código. Cuando una condición de memoria baja se produce, el sistema de purga de aplicaciones suspendidas sin previo aviso para hacer más espacio para las app en primer plano.

    Fuente: Ver Tabla 2-3 en el primer enlace de referencia al final de esta respuesta.

  • La única apps en realidad se ejecuta en tu iPhone en cualquier punto dado en el tiempo son la aplicación activa (es decir, la visible en la pantalla) y cualquier otro personal que trabaja en el fondo. (Nota: Hay algunos temporal excepciones en el caso de aplicaciones que aún necesita tiempo para completar la ejecución de código ya empezaron a mientras que se activa normalmente esto es sólo en el orden de segundos, pero, en teoría, podría extenderse a más de un minuto.).

  • En términos de aplicaciones que se ejecutan en segundo plano, puede controlar las aplicaciones que tienen permiso para hacerlo (si está abierto) yendo a Ajustes > General > Fondo de la Aplicación de Actualización. (Nota: Sólo porque una aplicación que aparece aquí no significa que se ejecutará en segundo plano, pero la inhabilitación aquí significa que definitivamente no!)
  • Si tu iPhone está bloqueado, entonces la aplicación que se activa (es decir, fue visible en la pantalla) cuando se bloquea el dispositivo está inactivo. Sin embargo, a menos que usted acaba de bloquear el iPhone y todavía terminar la ejecución de código o de que se está ejecutando en segundo plano (por ejemplo, reproducir música, etc) entonces no es el uso de la CPU, la GPU o la batería.

Referencias

  1. Para obtener más información acerca de los distintos estados de una aplicación puede tener, se refieren a Apple de la Aplicación de la Guía de Programación para iOS: los Estados de Ejecución para las Aplicaciones.
  2. Para obtener más información sobre las apps que se ejecutan en segundo plano, se refieren a Apple de la Aplicación de la Guía de Programación para iOS: la Ejecución en segundo plano.

22voto

UnkwnTech Puntos 21942

Las respuestas proporcionadas son exactos, solo quiero aclarar desde un iOS developer punto de vista.

iOS está diseñado para gestionar tantas cosas como sea posible para que usted (y desarrolladores) no tiene que preocuparse acerca de ellos. El resultado final es un poco enfoque coherente a través de aplicaciones, incluyendo los de Apple (incluso aunque a veces la propia Apple recortes en algunas esquinas).

Dicho esto, la premisa es:

  • iOS sabe más acerca de la memoria de nosotros. Se sabe cuánto tiene y cuánto se necesita (hasta cierto punto).
  • iOS tiene control total sobre la memoria; es el que tiene la última palabra sobre quién lo utiliza.
  • Si iOS necesidades de memoria, se van a encontrar, y esto se hace generalmente por matar a otros procesos que han estado inactivo por algún tiempo (y hay muchas reglas detrás de las escenas, no los conocemos todos, y que realmente no se preocupe acerca de ellos).
  • Todo lo que un Procesador (CPU), toma de la energía. Todo, absolutamente todo. No olvides que los equipos son muy pequeños contenedores de electrones que se mueven alrededor de ellos en los muy pequeños espacios.
  • Cuando una aplicación está muerto, hay algunos protocolos acordados (contratos) que definen lo que debe ser hecho. iOS exige y lleva a estos protocolos. Pero el trabajo debe ser hecho, no es libre y, ciertamente, no siempre es barato (realmente depende de la Aplicación).

Habiendo dicho todo eso, uno asume que la mayoría de los usuarios cerrar aplicaciones en la esperanza de aumentar la vida útil de la batería, bajo la impresión de que, por el cierre de las cosas, menos energía se pierde en el mantenimiento de estas aplicaciones que se están ejecutando.

La verdad es que, en iOS, esto casi nunca es el caso. Cuando usted oprime el botón de inicio, se suspende la aplicación y ya no utiliza los recursos que otras aplicaciones pueden necesitar. Si una nueva aplicación (o incluso iOS) necesita que la memoria, se encargará de ello por sí mismo, pero sólo si es necesario.

Que cierre las aplicaciones más y más, están obligando a iOS para hacer que potencialmente costosa tarea de descarga de una aplicación, el ahorro de su estado y lo que no, con el problema añadido de que cuando vuelva a abrir la aplicación, todo eso tiene que ser revertida y que, dependiendo de la complejidad de la aplicación, un montón de cosas que se deben leer desde el almacenamiento en la memoria principal del teléfono, y así sucesivamente. Todo este trabajo extra, se podría haber evitado si simplemente dejar que la aplicación de permanecer en su "suspendida".

Sin embargo ...

En algunos casos (y que son raros pero no imposible raro), se quieren matar las aplicaciones que se portan mal. Algunos ejemplos son (pero no limitados a): Aplicaciones que tienen que ver con el audio de fondo, o servicios asincrónicos como la ubicación (donde la aplicación pide una ubicación y iOS debe ir y preguntar donde está, por ejemplo, al disparar el GPS si es necesario), streaming de vídeo, etc.

He tenido innumerables casos de aplicaciones como Lyft, United Airlines, incluso Twitter, que terminan en un estado roto (o simplemente no funcionar correctamente), ya sea porque estás en una mala red (iOS se ha puesto realmente mal en la recuperación de algunas de las malas redes en los últimos 3-4 versiones) o la red simplemente no responder correctamente.

En el tiempo, la mayoría de estos problemas tienden a desaparecer y que la aplicación comienza a trabajar de nuevo; pero si usted realmente necesita la aplicación para que funcione ahora, entonces usted tiene que seguir adelante y pagar el precio de tener que matar y reiniciar desde cero. Usted utiliza más batería por hacer eso, pero, hey, usted lo necesita.

Y si esto era confuso, me puede dar un coche de la analogía, porque eso es lo que tendemos a hacer todo el tiempo.

La Analogía Del Coche

Sé que la tecnología de los coches ha avanzado y este no es un buen ejemplo, pero jugar conmigo aquí.

El disparo de un Coche de motor utilizados para el uso de combustible más que justo al ralentí. Cuando los coches se había carburadores en lugar de los inyectores, esto era aún peor; por eso, girando el motor cuando se detiene en un semáforo en rojo, teóricamente, puede utilizar más combustible que justo al ralentí durante un minuto. Los nuevos coches tienen un mecanismo mucho más eficiente y puede detener el motor, pero la estancia en un semi-estado de iniciado (no vamos a conseguir demasiado en los coches aquí).

Que al cerrar las aplicaciones, es el equivalente de una persona de convertir el coche fuera en cada parada de la luz. En lugar de simplemente dejarlo inactivo hasta que se necesite de nuevo, normalmente un par de segundos más tarde.

La analogía no es perfecta, porque la verdad es que la inactividad de los coches todavía el uso de combustible, mientras que las aplicaciones suspendidas no; sin embargo, En los ojos de teléfono, ellos son los que no se utiliza nada de memoria/batería relacionados (siempre que no tengan antecedentes de procesamiento de cualquier tipo de activo, obviamente).

Básicamente lo que hace es convertir tu motor apagado cada vez que mata a una aplicación, y no dejar que el iOS "inteligente" mecanismo de ralentí de su motor de tomar el cuidado de él, así que cuando se enciende la luz verde, puede simplemente presionar el acelerador y el motor está funcionando más rápido que si hubiera sido 100% detenido. Poner en marcha un motor de un estado detenido, también utiliza más energía de la que sólo el combustible, es necesario girar el motor de arranque para que el motor puede ser arrancado, de inyección de combustible y las chispas creado, así que... es un montón de trabajo detrás de las escenas. Aplicaciones son como los motores. :)

-1voto

Trevor Hart Puntos 107

Acaba de lanzar una diferencia de opinión que hay para el bien de la discusión. Este concepto tiene un cierto grado de verdad, pero una vez que usted tiene un cierto número de aplicaciones abiertas, usted está probablemente va a empezar a ver el rendimiento decreciente de mantenimiento de aplicaciones suspendido.

El más aplicaciones que tenga abiertas, más memoria ram se va a conseguir que se utiliza, obviamente. Normalmente, cada app en la memoria se divide como la memoria de la aplicación en sí es en realidad utilizando actualmente, la memoria que la aplicación desea tener en la mano, y la memoria que el sistema operativo de hecho se permite la aplicación para usar, que le da el final de la cantidad de memoria de la aplicación se puede utilizar. La razón de que la aplicación mantiene una porción separada de esta memoria como la memoria que desea utilizar, es debido a que la aplicación necesita para crecer es del montón, pero no necesariamente quieren hacer que la derecha del palo, porque es malo para los recolectores de basura para tener grandes montones (grandes montones = no recolección de basura), por lo que la aplicación va a dejar de lado una parte de la memoria no se utiliza actualmente, pero que puede ser utilizada por la aplicación, exclusivamente, cuando surja la necesidad.

Dicen que el sistema operativo permite que mi aplicación hasta 700 mb, y la aplicación del conjunto de un lado 300mb de memoria por sí mismo, dejando de 400mb que hay para mi aplicación para usar si se quiere, pero entonces otra aplicación se abre y necesita un poco de memoria, el sistema operativo se ve en todas las diferentes aplicaciones, y decide si está bien tirar un poco de memoria desde otra aplicación y uso de la nueva aplicación, en este caso se puede decidir tomar 150mb de mis aplicaciones permitido la memoria y dar a la nueva aplicación, que requieren de la memoria para ser intercambiados alrededor para dar a la nueva app de la memoria a utilizar (piense en esto como una reasignación de fondos en un negocio), más las aplicaciones que tiene abiertas, el trabajo más que el sistema operativo tiene que hacer para decidir cual de memoria de la aplicación se puede desviar para dar a la nueva app de la memoria.

En este sentido, cada una de las apps que conseguir que se abrió y el suspendido añade a la complejidad de este proceso, haciéndolo más la CPU, y, finalmente, que requieren potencialmente más energía de la batería para abrir aplicaciones futuras de la energía de la batería ahorrado por no cerrar otras aplicaciones.

Ahora la mente de usted, ninguno de los que se toma en consideración que a menos que usted realmente matar a una aplicación, puede haber antecedentes de la ejecución de servicios que se va a comer el poder de procesamiento, por ejemplo notificaciones de notificar a usted en un temporizador, etc. Por otro lado, algunas apps no utilice un verdadero servicio en segundo plano, y en realidad el uso de las notificaciones push de servicios como base avanzada, que no requieren de la aplicación para ser abierta en cualquier momento.

Otra cosa a considerar, la más aplicaciones continuamente abierto, el más fragmentado que el de la memoria en un principio será hasta el OS pasa a través de y limpia la memoria para ser más limpio y establecidos de manera más eficiente, lo que en sí también mastica el poder de procesamiento, y el más memoria de la que es ocupado por las aplicaciones, la más intensivo de este proceso será para su dispositivo.

Todo esto para decir, salir de las aplicaciones abiertas es en su mayoría más eficiente, a menos que también muchas de las aplicaciones que se abren, sin embargo no estoy seguro de cómo muchas de las aplicaciones que necesitan estar abiertos a llegar a este umbral, si el número existe.

Fuentes:

SGen recolector de basura para Mono: http://www.mono-project.com/docs/advanced/garbage-collector/sgen/

Resumen de la memoria del analizador para iOS y Android Xamarin de las aplicaciones, que muestra la manera en que la memoria es gestionada por la aplicación (conjunto de trabajo, los bytes privados, memoria asignada, etc.) https://blog.xamarin.com/say-hello-to-the-xamarin-profiler/

-2voto

Kaotis Puntos 15

El corte limpio de la versión: Es mejor debido a que el sistema operativo fue diseñado para hacer lo mejor, hasta el punto de que el usuario desee mantener aplicaciones (o en un "suspendida") con el fin de reunir más información sobre sus acciones[*] más tarde si es necesario.

Versión larga: Las aplicaciones que están "suspendidos" tendrá su estado guardado en la memoria, así que una vez que quiere empezar de vuelta hasta el proceso de cargar todo de nuevo, se requieren menos tiempo para el procesor y casi no uso de la unidad de almacenamiento...Con este no se puede saber si sus aplicaciones se están haciendo algunas otras cosas en el fondo que en muchos de los casos se sientan ahí la recopilación de datos sobre usted.


[*] Para detalles sobre la recolección de datos en que parte... las aplicaciones que se almacenan en la memoria puede ser "suspendido" o activo en segundo plano. Usted como el propietario del dispositivo no se puede saber (si usted no posee el conocimiento y algunas otras aplicaciones activamente para que se analice el uso de la CPU) ¿qué dice la aplicación que realmente está haciendo. Desde el punto de vista de la seguridad te aconsejo cerrar cualquier aplicación que usted no se va a usar para los próximos 10 minutos.

P. S. Esta práctica se realiza en dispositivos Android, así btw ...

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X