Що станеться, коли я закрию всі вікна програми на OSX?


8

Я звик до Windows, де програми зникають із мого лотка завдань, Alt+ Tabменю тощо, коли я закриваю останнє вікно; тому для мене трохи несподівано, що піктограма програми все ще сидить у моєму доку та в моїх Command+ Tabwindows.

Чи змінюється пам’ять комп'ютера, використання процесора та ін. Між цим станом і коли я повністю закриваю (наприклад, Command+ Q) програму? (У мене ОС X 10.8, якщо це має значення.)

Відповіді:


12

Не існує єдиної думки щодо того, чи потрібно виходити з програми, коли ви закриваєте останнє вікно, або якщо програма продовжує працювати, тож кожен розробник залишає рішення приймати рішення щодо програми на основі програми. Щоправда, це те, що вихід із програми звільняє потрібні ресурси - навіть якщо деякі файли та код все ще зберігаються в оперативній пам’яті або кеші, поки ці сховища не будуть очищені або використані для кешування інших додатків і файлів пізніше.

Крім того, не існує обмеження, яке забороняє погане кодування, вивільнення пам’яті, використання процесора, коли жодних реальних завдань не слід виконувати, так що вони також змінюються залежно від конкретного випадку.

І Windows, і OS X мають дуже хороші розумні розклади, системи підкачки, керування потоками тощо ... і процесор все однаковий з точки зору вимкнення ядер та зниження / підвищення частоти на основі навантаження, щоб заощадити енергію та дати " turbo boost ", коли лише одне ядро ​​виконує одну нитку.

OS X починає давати програмам сигналізувати про те, що вони підтримують раптове припинення - щоб ОС могла обробляти автоматичне припинення, раптове припинення та автоматичне збереження документів (плюс версії) для розробника додатка. Тож навіть якщо ви сказали ОС запустити програму, вона може і вирішить "вийти" з процесу, щоб він не витрачав ресурси, поки ви робите інші речі з комп'ютером.

Нарешті, за допомогою PowerNap на ОС X X лінія між Alseep і Wake починає розмиватися, коли система частково прокидається для виконання періодичних мережевих завдань, які роблять OS X трохи іншим, ніж традиційні UNIX та Windows, з точки зору роздумів про додатки та використання ресурсів.

Більше читання:


1
Незважаючи на те, що це не жорстке правило, документ на основі додатка , як правило , продовжують працювати , коли всі вікна зачинені (думаю , TextEdit або пошта), в той час як одного вікна додатка , як правило , завершує роботу , коли їх одне вікно закрите (думаю Системні налаштування або App Store) . Причиною цього є те, що якщо додаток складається лише з одного вікна, мабуть, мало що ви могли б зробити з ним, не відкривши це вікно (звичайно, є винятки, як iTunes).
daGUY

3

Тут вже дана відповідь - хороша відповідь і дуже точна, але я просто хочу розбити це на терміни мирян для вас.

Деякі програми припиняються, коли ви закриваєте все їх вікно, інші - ні. Крім того, деякі програми мають опцію в налаштуваннях, де ви, користувач, можете вирішити, чи потрібно виходити з програми, коли закриється останнє вікно.

Що стосується використання пам’яті, OS X використовує управління пам’яттю, призначене для того, щоб перетягнути найбільшу кількість пам’яті на головне (активне) додаток, при цьому обмежуючи, скільки пам’яті використовують додатки, які не є активним додатком. Як вже було сказано, від того, наскільки добре це працює, багато в чому залежить від того, наскільки добре була закодована кожна окрема програма.


1
Цікаво - я ніколи не чув, щоб система VM віддала перевагу активним вікнам. +1 для отримання більш короткої прямої відповіді. Якщо ви могли б посилання на деталі щодо оптимізації пам'яті, це було б приголомшливо.
bmike
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.