¿Qué hizo iOS antes de realizar múltiples tareas?

7

¿Hubo un conmutador de aplicaciones o tuviste que detener una aplicación y comenzar una nueva?

    
pregunta Ian Warburton 31.08.2016 - 16:45

4 respuestas

14

El conmutador de aplicaciones vino con multitarea limitada. Antes de eso, presionó el botón de inicio y el programa frontal dejó de ejecutarse.

    
respondido por el bmike 31.08.2016 - 16:57
23

FWIW, Apple siempre ha permitido que algunas de sus propias aplicaciones o servicios persistan en segundo plano, es decir, el teléfono, el correo, las notificaciones push, Find My iPhone, etc., según la necesidad y la funcionalidad.

Una cosa a considerar es que la multitarea hoy en día en iOS todavía es limitada, especialmente cuando se compara con los sistemas operativos de escritorio (y quizás algunos entornos de Android).

A partir de iOS 4, Apple te da la ilusión de que todas tus aplicaciones se están ejecutando al haber creado el conmutador de aplicaciones. Aunque es posible que algunas de las aplicaciones aún se estén ejecutando, la mayoría está en hibernación, según las tareas en segundo plano que se hayan registrado para ejecutarse y la RAM disponible.

El ciclo de vida de la aplicación generalmente se ha comportado así desde el primer día:

  • El usuario toca el icono de la aplicación
  • Se muestra la pantalla de inicio
  • Se carga la primera pantalla (ver)
  • El usuario hace cosas con la aplicación
  • El usuario presiona el botón de inicio (o, con versiones posteriores, tocó la pantalla de otra aplicación)
  • La aplicación previamente abierta recibe la señal de que ya no está en primer plano
  • La aplicación recibe la señal de que está a punto de ser suspendida
  • La aplicación está suspendida (estado guardado en RAM)
  • El estado de la aplicación se mueve de la RAM al disco (flash) cuando la RAM se llena
  • El usuario vuelve a la aplicación
  • Si el estado es lo suficientemente reciente, el estado se vuelve a cargar desde la RAM o el disco
  • Si el estado es obsoleto, la aplicación comienza de nuevo

Los matices en la forma en que se maneja el estado han cambiado a lo largo de los años, y los desarrolladores tienen cada vez más control sobre lo que pueden hacer entre estados.

Cuando las personas pasan por "forzar el cierre" de todas sus aplicaciones, esencialmente están eliminando el estado guardado por la aplicación y eliminando cualquier tarea en segundo plano que la aplicación pueda haber iniciado. Muchos piensan que están ayudando a reducir el consumo de la batería y mantienen la memoria RAM limpia, pero Craig Federighi señaló que al hacerlo puede causar un mayor desgaste de la batería, ya que la CPU está haciendo más para volver a abrir esas aplicaciones cada vez en lugar de simplemente sacarlas de la batería. estasis.

También desde iOS 4, los desarrolladores ahora pueden crear tareas que pueden persistir incluso si una aplicación se ha suspendido, como la reproducción de audio, el monitoreo del tráfico de red (VoIP), las actualizaciones de datos en segundo plano y las actualizaciones de ubicación. Esto es efectivo porque solo una parte de la aplicación se ejecuta y usa recursos.

A medida que los dispositivos se vuelven más potentes (más CPU, más memoria RAM, más almacenamiento, mayor batería) y el código se vuelve más eficiente, estas tareas adicionales demuestran ser un menor gasto de recursos. Los elementos más nuevos como los widgets y las próximas extensiones de Siri, iMessage y CallKit pueden hacer que parezca que las aplicaciones populares siempre están haciendo algo en el fondo.

    
respondido por el Bryan Scott 31.08.2016 - 18:18
7

Inicialmente, iOS no tenía multitarea. Su primer intento fue en 2010 (Holy crap!). El iPhone simplemente no tenía suficiente memoria RAM y no estaba optimizado para ello. En 2010, Apple habilitó las aplicaciones principales para realizar múltiples tareas, pero no a terceros. Recuerdo haber hecho jailbreak a mi dispositivo para evitarlo y permitir que todas las aplicaciones realicen múltiples tareas, pero estaba lleno de errores. iOS ha recorrido un largo camino, con procesamiento de 64 bits y mejor administración de memoria.

Para obtener más información, consulte el artículo Wikipedia .

    
respondido por el megamaiku 31.08.2016 - 17:34
1

En primer lugar, iOS es un sabor de Unix, muy similar al Mac OS, SIEMPRE ha sido "multitarea" en el sentido más profundo. Muchos procesos se ejecutan simultáneamente en el dispositivo iOS todo el tiempo.

Lo que estaba limitado es la INTERACCIÓN DEL USUARIO con los programas. El usuario no puede interactuar con más de un programa en un momento dado.

También, incluso en los viejos tiempos, donde se necesitaba presionar "inicio" para cambiar de una aplicación a otra, la aplicación antigua NO fue eliminada. Se movió "al fondo", lo que significa que no tiene acceso a la pantalla, el teclado, la cámara, etc. y puede mantener muy pocos recursos del sistema mientras está en segundo plano.

Para salir completamente de una aplicación iOS, tenías que presionar dos veces el botón de inicio y cuando todas las aplicaciones en ejecución comenzaron a temblar, podías presionar la pequeña "x" para eliminarlas una por una. Sólo entonces las aplicaciones fueron realmente eliminadas.

El motivo de esta decisión de UI fue que solo de esta manera Apple podría lograr una buena capacidad de respuesta y duración de la batería, con los recursos del sistema muy limitados de los dispositivos iOS más antiguos.

La situación realmente no ha cambiado mucho desde entonces, solo en escenarios específicos, las aplicaciones en segundo plano reciben pocos recursos más para seguir adelante (redes en segundo plano, reproducción de audio en el BG, imagen en imagen, etc.) ).

El sistema es multitarea como siempre, pero la interfaz de usuario permite escenarios más complicados de aplicaciones más de una parcialmente visibles para el usuario al mismo tiempo.

    
respondido por el Motti Shneor 07.09.2016 - 08:57

Lea otras preguntas en las etiquetas