¿Qué sucede cuando he cerrado todas las ventanas de una aplicación en OSX?
8
Estoy acostumbrado a Windows, donde las aplicaciones desaparecen de mi bandeja de tareas, Alt+ Tabmenú, etc. cuando cierro su última ventana; así que es un poco inesperado para mí que el ícono de una aplicación todavía se encuentre en mi Dock y en mis ventanas Command+ Tab.
¿Cambia la memoria de la computadora, el uso de la CPU, etc. entre ese estado y cuando cierro completamente (por ejemplo, Command+ Q) una aplicación? (Tengo OS X 10.8 si eso importa).
No hay consenso sobre si la aplicación debe cerrarse cuando cierra la última ventana o si la aplicación continúa ejecutándose, por lo que la decisión queda en manos de cada desarrollador para decidir una aplicación por aplicación. Lo que es cierto es que salir de una aplicación libera los recursos necesarios, incluso si algunos archivos y códigos todavía se almacenan en RAM o caché hasta que esas tiendas se vacíen o se utilicen para almacenar en caché otras aplicaciones y archivos en un momento posterior.
Además, no hay restricciones que prohíban la codificación incorrecta, acaparando la memoria, utilizando la CPU cuando no se deben ejecutar tareas reales, por lo que también varía caso por caso.
Tanto Windows como OS X tienen muy buena inteligencia de programación, sistemas de paginación, control de subprocesos, etc., y la CPU son todos iguales en términos de apagar núcleos y bajar / aumentar la frecuencia en función de la carga para ahorrar energía y dar un " turbo boost "cuando solo un núcleo ejecuta un solo hilo.
OS X está comenzando a permitir que las aplicaciones indiquen que admiten la finalización repentina, para que el SO pueda manejar la finalización automática, la finalización repentina y el guardado automático de documentos (más versiones) para un desarrollador de aplicaciones. Entonces, incluso si le ha dicho al sistema operativo que ejecute un programa, puede y decidirá "abandonar" el proceso para que no consuma recursos mientras está haciendo otras cosas con la computadora.
Por último, con PowerNap en hardware OS X, la línea entre alep y despierto comienza a desdibujarse con el sistema parcialmente despierto para realizar tareas periódicas de red que hacen que OS X sea un poco diferente de UNIX y Windows tradicionales en términos de pensar en aplicaciones y uso de recursos.
Más lectura:
The Core App Design : cubre tanto las aplicaciones que se cierran cuando se cierra su ventana como las que no. Más abajo, la discusión sobre la terminación es bastante legible pero también técnicamente detallada
Aunque no es una regla difícil, las aplicaciones basadas en documentos generalmente permanecen ejecutándose cuando todas sus ventanas están cerradas (piense en TextEdit o Mail), mientras que las aplicaciones de una sola ventana generalmente se cierran cuando su única ventana está cerrada (piense en Preferencias del Sistema o en la App Store) . La razón de esto si una aplicación solo consta de una ventana, es probable que haya poco que pueda hacer sin esa ventana abierta (hay excepciones, por supuesto, como iTunes).
daGUY
3
La respuesta ya dada aquí es una buena respuesta y muy precisa, pero solo quiero desglosar esto en términos simples para usted.
Algunos programas terminan cuando cierra todas sus ventanas, otros no. Además, algunos programas tienen una opción en la configuración donde usted, el usuario, puede decidir si desea que el programa se cierre cuando se cierra la última ventana.
Con respecto al uso de memoria, OS X utiliza la administración de memoria está diseñada para canalizar la mayor cantidad de memoria a la aplicación principal (activa), al tiempo que restringe la cantidad de memoria utilizada por aplicaciones que no son la aplicación activa. Sin embargo, como ya se mencionó, cuán bien funciona esto depende en gran medida de qué tan bien se codificó cada programa individual.
Interesante: nunca he oído hablar del sistema VM que prefiere las ventanas activas. +1 para más de una respuesta directa corta. Si pudiera vincular a los detalles sobre la optimización de la memoria, sería increíble.
La respuesta ya dada aquí es una buena respuesta y muy precisa, pero solo quiero desglosar esto en términos simples para usted.
Algunos programas terminan cuando cierra todas sus ventanas, otros no. Además, algunos programas tienen una opción en la configuración donde usted, el usuario, puede decidir si desea que el programa se cierre cuando se cierra la última ventana.
Con respecto al uso de memoria, OS X utiliza la administración de memoria está diseñada para canalizar la mayor cantidad de memoria a la aplicación principal (activa), al tiempo que restringe la cantidad de memoria utilizada por aplicaciones que no son la aplicación activa. Sin embargo, como ya se mencionó, cuán bien funciona esto depende en gran medida de qué tan bien se codificó cada programa individual.
fuente