Co się stanie, gdy zamknę wszystkie okna aplikacji w OSX?


8

Jestem przyzwyczajony do systemu Windows, w którym aplikacje znikają z paska zadań, menu Alt+ Tabitp. Po zamknięciu ostatniego okna; więc jest dla mnie trochę nieoczekiwane, że ikona aplikacji nadal znajduje się w moim Docku i w moich Command+ TabWindowsach.

Czy pamięć komputera, użycie procesora itp. Zmienia się między tym stanem a momentem pełnego zamknięcia (np. Command+ Q) Aplikacji? (Mam OS X 10.8, jeśli to ma znaczenie).

Odpowiedzi:


12

Nie ma zgodności co do tego, czy aplikacja musi zostać zamknięta po zamknięciu ostatniego okna, czy też nadal działa, więc każdy programista decyduje o wyborze aplikacji według aplikacji. Prawdą jest, że zamknięcie aplikacji powoduje zwolnienie zasobów - nawet jeśli niektóre pliki i kod są nadal przechowywane w pamięci RAM lub pamięci podręcznej, dopóki te sklepy nie zostaną opróżnione lub wykorzystane do buforowania innych aplikacji i plików w późniejszym czasie.

Co więcej, nie ma ograniczeń zabraniających złego kodowania, zapamiętywania pamięci, korzystania z procesora, gdy nie powinny być wykonywane żadne rzeczywiste zadania, co również różni się w zależności od przypadku.

Zarówno Windows, jak i OS X mają bardzo dobre funkcje planowania, systemy stronicowania, kontrolę wątków itp., A procesor jest taki sam pod względem wyłączania rdzeni i obniżania / zwiększania częstotliwości w zależności od obciążenia w celu oszczędzania energii i uzyskania „ turbo boost ”, gdy tylko jeden rdzeń wykonuje jeden wątek.

OS X zaczyna zezwalać aplikacjom na sygnalizowanie, że obsługują nagłe zakończenie - tak, aby system operacyjny mógł obsłużyć automatyczne zakończenie, nagłe zakończenie i automatyczne zapisywanie dokumentów (plus wersje) dla twórców aplikacji. Więc nawet jeśli powiedziałeś systemowi operacyjnemu, aby uruchomił program, może i zdecyduje się „rzucić” proces, aby nie zużywał zasobów, gdy robisz inne rzeczy z komputerem.

Wreszcie, dzięki PowerNap na sprzęcie z systemem OS X, granica między alseep a przebudzeniem zaczyna się zacierać, gdy system budzi się częściowo, aby wykonywać okresowe zadania sieciowe, które sprawiają, że OS X jest nieco inny niż tradycyjny UNIX i Windows pod względem myślenia o aplikacjach i wykorzystaniu zasobów.

Więcej lektur:


1
Chociaż nie jest to trudna reguła, aplikacje oparte na dokumentach zwykle pozostają uruchomione, gdy wszystkie ich okna są zamknięte (pomyśl TextEdit lub Mail), podczas gdy aplikacje z jednym oknem zwykle zamykają się, gdy ich jedno okno jest zamknięte (pomyśl Preferencje systemowe lub App Store) . Powodem tego jest to, że jeśli aplikacja składa się tylko z jednego okna, prawdopodobnie niewiele można z tym zrobić bez otwartego okna (są oczywiście wyjątki, takie jak iTunes).
daGUY

3

Odpowiedź już tutaj podana jest dobrą i bardzo dokładną odpowiedzią, ale chcę tylko rozbić to na warunki dla laików.

Niektóre programy kończą się po zamknięciu całego okna, inne nie. Ponadto niektóre programy mają opcję w ustawieniach, w których użytkownik może zdecydować, czy program ma zostać zamknięty po zamknięciu ostatniego okna.

Jeśli chodzi o wykorzystanie pamięci, system OS X korzysta z zarządzania pamięcią, które ma na celu skierowanie największej ilości pamięci do najważniejszej (aktywnej) aplikacji, przy jednoczesnym ograniczeniu ilości pamięci używanej przez aplikacje, które nie są aktywną aplikacją. Jak już wspomniano, to, jak dobrze to działa, zależy w dużej mierze od tego, jak dobrze każdy program został zakodowany.


1
Ciekawe - nigdy nie słyszałem o systemie VM preferującym aktywne okna. +1 za więcej krótkiej bezpośredniej odpowiedzi. Gdybyś mógł połączyć się ze szczegółami dotyczącymi optymalizacji pamięci, byłoby to niesamowite.
bmike
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.