Cosa succede quando ho chiuso tutte le finestre di un'applicazione su OSX?


8

Sono abituato a Windows, dove le applicazioni scompaiono dalla mia barra delle applicazioni, Alt+ Tabmenu, ecc. Quando chiudo l'ultima finestra; quindi è un po 'inaspettato per me che l'icona di un'applicazione si trovi ancora nel mio Dock e nelle mie Command+ Tabfinestre.

La memoria del computer, l'utilizzo della CPU, ecc. Cambiano tra quello stato e quando chiudo completamente (es. Command+ Q) Un'applicazione? (Ho OS X 10.8 se è importante.)

Risposte:


12

Non vi è consenso sul fatto che l'app debba essere chiusa quando si chiude l'ultima finestra o se l'app continua a funzionare, quindi la decisione è lasciata a ciascuno sviluppatore di decidere su un'app in base all'app. Ciò che è vero è che la chiusura di un'app rilascia le risorse che ha impiegato, anche se alcuni file e codici sono ancora memorizzati nella RAM o nella cache fino a quando tali negozi non vengono svuotati o utilizzati per la memorizzazione nella cache di altre app e file in un secondo momento.

Inoltre, non vi sono restrizioni che vietano la codifica errata, l'archiviazione della memoria, l'utilizzo della CPU quando non dovrebbero essere eseguite attività reali, in modo che anche varia a seconda del caso.

Sia Windows che OS X hanno un'ottima pianificazione intelligente, sistemi di paging, controllo dei thread, ecc ... e la CPU è la stessa in termini di spegnimento dei core e riduzione / aumento della frequenza in base al carico per risparmiare energia e dare un " turbo boost "quando solo un core sta eseguendo un singolo thread.

OS X sta iniziando a consentire alle app di segnalare che supportano la terminazione improvvisa, in modo che il sistema operativo possa gestire la terminazione automatica, la terminazione improvvisa e il salvataggio automatico dei documenti (oltre alle versioni) per uno sviluppatore di app. Quindi, anche se hai detto al sistema operativo di eseguire un programma, può e deciderà di "chiudere" il processo in modo che non consumi risorse mentre stai facendo altre cose con il computer.

Infine, con PowerNap su hardware OS X, la linea tra alseep e wake inizia a confondersi con il sistema che si sveglia parzialmente per eseguire attività di rete periodiche che rendono OS X un po 'diverso dal tradizionale UNIX e Windows in termini di pensiero sulle app e sull'utilizzo delle risorse.

Più lettura:


1
Sebbene non sia una regola difficile, le app basate su documenti in genere rimangono in esecuzione quando tutte le loro finestre sono chiuse (pensa a TextEdit o Mail), mentre le app a finestra singola in genere si chiudono quando viene chiusa una sola finestra (pensa a Preferenze di Sistema o App Store) . Il motivo di ciò se un'app è composta da una sola finestra, è probabile che ci sia poco da fare senza quella finestra aperta (ci sono eccezioni, ovviamente, come iTunes).
daGUY,

3

La risposta già fornita qui è una buona risposta e molto precisa, ma voglio solo scomporla in termini di profani per te.

Alcuni programmi terminano quando si chiude tutta la finestra, altri no. Inoltre, alcuni programmi hanno un'opzione nelle impostazioni in cui tu, l'utente, puoi decidere se vuoi che il programma si chiuda quando viene chiusa l'ultima finestra.

Per quanto riguarda l'utilizzo della memoria, OS X utilizza la gestione della memoria progettata per incanalare la maggior quantità di memoria sull'app principale (attiva), limitando al contempo la quantità di memoria utilizzata dalle app che non sono l'app attiva. Come già accennato, tuttavia, quanto bene funzioni dipende in larga misura da quanto ogni singolo programma è stato codificato.


1
Interessante: non ho mai sentito parlare del sistema VM che preferisce le finestre attive. +1 per più di una breve risposta diretta. Se potessi collegarti ai dettagli sull'ottimizzazione della memoria, sarebbe fantastico.
bmike
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.