Bir uygulamanın tüm pencerelerini OSX'te kapattığımda ne olur?


8

Son pencerelerini kapattığımda uygulamaların görev tepsimden Alt+ Tabmenümden vb. Kaybolduğu Windows'a alışkınım ; bu yüzden bir uygulamanın simgesinin Dock'umda ve Command+ Tabpencerelerimde durması biraz beklenmedik bir durum .

Bilgisayarın belleği, CPU kullanımı vb. Bu durum ile uygulamayı tamamen kapattığımda (örn. Command+ Q) Değişiyor mu? (Önemli olursa OS X 10.8 kullanıyorum.)

Yanıtlar:


12

Uygulamanın son pencereyi kapattığınızda veya uygulamanın çalışmaya devam edip etmediği konusunda bir fikir birliği yoktur, bu nedenle uygulama bazında karar vermek için her geliştiriciye karar verilir. Doğru olan, bir uygulamadan çıkmanın aldığı kaynakları serbest bırakmasıdır - bazı dosyalar ve kodlar, bu mağazalar daha sonra başka uygulamalar ve dosyaları önbelleğe almak için temizlenene veya kullanılıncaya kadar RAM veya önbellekte saklansa bile.

Ayrıca, gerçek görevlerin yürütülmemesi gerektiğinde CPU'yu kötü kodlamayı, bellek kullanmayı, bellek kullanmayı yasaklayan bir kısıtlama yoktur, böylece duruma göre de değişir.

Hem Windows hem de OS X çok iyi zamanlama akıllılarına, çağrı sistemlerine, iplik kontrolüne vb. Sahiptir ve CPU, çekirdeği kapatmak ve güç tasarrufu sağlamak ve yükü sağlamak için yüke göre frekansı düşürmek / yükseltmek açısından aynıdır. turbo boost "sadece bir çekirdek tek bir iş parçacığı yürütürken.

OS X, uygulamaların ani sonlandırmayı desteklediklerini bildirmeye başlıyor - böylece OS, bir uygulama geliştiricisi için otomatik sonlandırma, ani sonlandırma ve otomatik belge kaydetme (artı sürümleri) işleyebilir. Bu nedenle, işletim sistemine bir programı çalıştırmasını söylemiş olsanız bile, bilgisayarla başka şeyler yaparken kaynakları tüketmeyecek şekilde "bırakmaya" karar verebilir ve karar verecektir.

Son olarak, OS X donanımında PowerNap ile, alseep ve uyanıklık arasındaki çizgi, sistem X'i uygulamalar ve kaynak kullanımı hakkında düşünme açısından OS X'i geleneksel UNIX ve Windows'tan biraz farklı yapan periyodik ağ görevlerini yerine getirmek için kısmen uyanarak başlar.

Daha fazla okuma:


1
Zor bir kural olmasa da, belge tabanlı uygulamalar genellikle tüm pencereleri kapalıyken çalışır durumda kalır (TextEdit veya Mail'i düşünün), tek pencereli uygulamalar genellikle bir pencere kapandığında kapanır (Sistem Tercihleri ​​veya App Store'u düşünün) . Bunun nedeni, bir uygulamanın yalnızca bir pencereden oluşması durumunda, bu pencere açık olmadan onunla yapabileceğiniz çok az şey vardır (elbette iTunes gibi istisnalar vardır).
DaGUY

3

Burada verilen cevap iyi bir cevap ve çok kesin, ama bunu sizin için laymen'in şartlarına bölmek istiyorum.

Bazı programlar tüm pencerelerini kapattığınızda sona erer, diğerleri kapanmaz. Ayrıca, bazı programlarda kullanıcı olarak, son pencere kapatıldığında programın kapanmasını isteyip istemediğinize karar verebilirsiniz.

Bellek kullanımı ile ilgili olarak, OS X bellek yönetimini, etkin uygulama olmayan uygulamalar tarafından ne kadar bellek kullanıldığını kısıtlarken, en önde gelen (etkin) uygulamaya en fazla bellek miktarını huni etmek için tasarlanmıştır. Daha önce de belirtildiği gibi, bunun ne kadar iyi çalıştığı büyük ölçüde her bir programın ne kadar iyi kodlandığına bağlıdır.


1
İlginç - VM sistemini aktif pencereleri tercih ettiğini hiç duymadım. Kısa bir doğrudan yanıt için +1. Belleğin optimizasyonu ile ilgili detaylara link verebilirseniz, bu harika olurdu.
bmike
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.