Que se passe-t-il lorsque j'ai fermé toutes les fenêtres d'une application sur OSX?
8
Je suis habitué à Windows, où les applications disparaissent de ma barre des tâches, du menu Alt+ Tab, etc. lorsque je ferme leur dernière fenêtre; il est donc un peu inattendu pour moi que l'icône d'une application se trouve toujours dans mon Dock et dans mes Command+ Tabfenêtres.
La mémoire de l'ordinateur, l'utilisation du processeur, etc. changent-elles entre cet état et lorsque je ferme complètement (par exemple Command+ Q) une application? (J'ai OS X 10.8 si cela importe.)
Il n'y a pas de consensus quant à savoir si l'application doit se fermer lorsque vous fermez la dernière fenêtre ou si l'application continue de fonctionner, donc la décision est laissée à chaque développeur de décider d'une application par application. Ce qui est vrai, c'est que quitter une application libère les ressources nécessaires - même si certains fichiers et codes sont toujours stockés dans la RAM ou le cache jusqu'à ce que ces magasins soient vidés ou utilisés pour mettre en cache d'autres applications et fichiers ultérieurement.
De plus, il n'y a aucune restriction interdisant un mauvais codage, une mémoire monopolistique, l'utilisation du CPU quand aucune tâche réelle ne devrait être exécutée, de sorte que cela varie également au cas par cas.
Windows et OS X ont tous deux de très bons programmes de planification, des systèmes de pagination, un contrôle des threads, etc ... et le CPU est le même en termes d'arrêt des cœurs et d'abaissement / augmentation de la fréquence en fonction de la charge pour économiser de l'énergie et donner un " turbo boost "lorsqu'un seul cœur exécute un seul thread.
OS X commence à laisser les applications signaler qu'elles prennent en charge la résiliation soudaine - afin que le système d'exploitation puisse gérer la résiliation automatique, la résiliation soudaine et l'enregistrement automatique des documents (ainsi que les versions) pour un développeur d'applications. Ainsi, même si vous avez dit au système d'exploitation d'exécuter un programme, il peut et décider de "quitter" le processus afin qu'il ne consomme pas de ressources pendant que vous faites d'autres choses avec l'ordinateur.
Enfin, avec PowerNap sur le matériel OS X, la ligne entre alseep et awake commence à s'estomper avec le système se réveillant partiellement pour effectuer des tâches réseau périodiques qui rendent OS X un peu différent de UNIX et Windows traditionnel en termes de réflexion sur les applications et l'utilisation des ressources.
Plus de lecture:
Le Core App Design - couvre à la fois les applications qui se ferment lorsque sa fenêtre se ferme et celles qui ne le font pas. Plus bas, la discussion sur la résiliation est assez lisible mais aussi techniquement détaillée
Bien que ce ne soit pas une règle stricte, les applications basées sur des documents continuent généralement de fonctionner lorsque toutes leurs fenêtres sont fermées (pensez à TextEdit ou Mail), tandis que les applications à fenêtre unique s'arrêtent généralement lorsque leur seule fenêtre est fermée (pensez aux Préférences Système ou à l'App Store) . La raison en est que si une application ne comprend qu'une seule fenêtre, il y a probablement peu de choses que vous pourriez faire avec cette fenêtre ouverte (il y a bien sûr des exceptions, comme iTunes).
daGUY
3
La réponse déjà donnée ici est une bonne réponse et très précise, mais je veux juste décomposer cela en termes simples pour vous.
Certains programmes se terminent lorsque vous fermez toute leur fenêtre, d'autres non. En outre, certains programmes ont une option dans les paramètres où vous, l'utilisateur, pouvez décider si vous souhaitez que le programme se ferme lorsque la dernière fenêtre est fermée.
En ce qui concerne l'utilisation de la mémoire, OS X utilise la gestion de la mémoire est conçue pour acheminer la plus grande quantité de mémoire vers l'application principale (active), tout en limitant la quantité de mémoire utilisée par les applications qui ne sont pas l'application active. Comme cela a déjà été mentionné, cependant, la façon dont cela fonctionne dépend en grande partie de la façon dont chaque programme individuel a été codé.
Intéressant - je n'ai jamais entendu parler du système VM préférant les fenêtres actives. +1 pour plus d'une réponse directe courte. Si vous pouviez créer un lien vers des détails sur l'optimisation de la mémoire, ce serait génial.
La réponse déjà donnée ici est une bonne réponse et très précise, mais je veux juste décomposer cela en termes simples pour vous.
Certains programmes se terminent lorsque vous fermez toute leur fenêtre, d'autres non. En outre, certains programmes ont une option dans les paramètres où vous, l'utilisateur, pouvez décider si vous souhaitez que le programme se ferme lorsque la dernière fenêtre est fermée.
En ce qui concerne l'utilisation de la mémoire, OS X utilise la gestion de la mémoire est conçue pour acheminer la plus grande quantité de mémoire vers l'application principale (active), tout en limitant la quantité de mémoire utilisée par les applications qui ne sont pas l'application active. Comme cela a déjà été mentionné, cependant, la façon dont cela fonctionne dépend en grande partie de la façon dont chaque programme individuel a été codé.
la source