macOSを使っていると、ウィンドウを「消す」方法がいくつもあることに気づきます。
⌘+Mで最小化、⌘+Hで隠す、⌘+Wで閉じる、⌘+Qで終了。
どれも似たような結果に見えますが、実は技術的に全く異なる処理。
パフォーマンスへの影響も変わります。
ポイントは、GUIで操作できる「閉じる」や「最小化」はウィンドウ単位の操作で、アプリケーションレベルの操作ではないことです。
1. 2つの終了と2つの非表示
まず、それぞれの操作が何を対象としているかを整理してみましょう。
- Minimize(⌘+M)は特定のウィンドウだけを対象とします。
ウィンドウが画面から消えてDockに小さなサムネイルとして格納されます。
アプリケーション自体は動き続けています。 - Hide(⌘+H)はアプリケーション全体を対象とします。
そのアプリのすべてのウィンドウが一度に画面から消えます。
アプリケーションは背景で動作を続けています。 - Close(⌘+W)は現在のウィンドウを完全に閉じます。
ウィンドウに関連するデータやプロセスも終了します。ただし、アプリケーション本体は残ります。 - Quit(⌘+Q)はアプリケーション全体を終了します。
すべてのウィンドウが閉じられ、アプリケーションのプロセスも完全に停止します。
2. 「閉じる」と「終了」の違い
2.1. Close(⌘+W)- ウィンドウの完全終了
特定の作業が完了したときは、Closeを使います。
文書の編集が終わったとき、ブラウザの特定のタブが不要になったときなどです。
⌘+Wでそのウィンドウだけを終了できます。
Closeは、ウィンドウを完全に破棄する操作です。
ウィンドウオブジェクトがメモリから解放され、関連するリソースも開放されます。
この操作の重要な特徴は、アプリケーションによって動作が異なることです。
Safariのような文書ベースのアプリケーションでは、ウィンドウを閉じても他のウィンドウは残ります。
しかし、設定アプリやカレンダーアプリのような単一ウィンドウアプリケーションでは、ウィンドウを閉じるとアプリケーション全体が見えなくなります。
テキストエディタで未保存の文書がある場合、保存確認ダイアログが表示されます。
これは、ウィンドウの破棄前にデータの整合性を保つためです。
2.2. Quit(⌘+Q)- アプリケーションの完全終了
アプリケーション自体が不要になったときは、Quitを選択します。
画像編集ソフトでの作業が完全に終わったとき、ゲームを終了するときなどです。
⌘+Qでアプリケーション全体を終了し、メモリを解放します。
この処理では、まずすべてのウィンドウが順次閉じられます。
各ウィンドウで未保存データがあれば保存確認が行われます。
すべてのウィンドウが正常に閉じられた後、アプリケーションのメモリが解放され、プロセスが終了します。
Quitは、アプリケーションのライフサイクルを完全に終了する操作です。NSApplicationのterminate:メソッドが呼ばれ、アプリケーションのメインプロセスが停止します。
バックグラウンドで実行中のタスクがあっても、すべて強制的に停止されます。
ダウンロード中のファイルがあれば中断され、データベース接続があれば切断されます。
3. 「最小化」と「非表示」の違い
3.1. Minimize(⌘+M)- ウィンドウレベルの操作
一時的にウィンドウを邪魔に感じるときは、Minimizeが適しています。
メールの返信中に資料ウィンドウが邪魔になったとき、⌘+Mで最小化すれば、後で簡単に復帰できます。
Minimizeは、特定のウィンドウオブジェクトの状態を変更する操作です。
ウィンドウのisMinimizedプロパティがtrueになり、macOSのWindow Serverがそのウィンドウを画面から取り除きます。
重要なのは、ウィンドウのコンテンツはメモリに保持されることです。
Webブラウザでダウンロードを実行中にウィンドウを最小化しても、ダウンロードは継続されます。
動画の再生も音声は続きます。
これは、アプリケーションのメインプロセスには何の影響もないからです。
ただし、描画処理は停止します。
ウィンドウが見えないため、画面更新の必要がなくなるからです。
これにより、GPU負荷は軽減されます。
復帰方法は3つあります。
Dockのウィンドウサムネイルをクリックする方法、アプリのWindowメニューから選択する方法、そしてMission Control(以前は Expose)から選択する方法です。
3.2. Hide(⌘+H)- アプリケーションレベルの操作
アプリ全体を一時的に使わないときは、Hideが効果的です。
音楽アプリで作業用BGMを流しながら、他の作業に集中したいときなどです。
⌘+Hで隠せば、音楽は流れ続けながら画面がすっきりします。
Hideは、NSApplicationのhide:メソッドを呼び出す操作です。
システムレベルでアプリケーション全体の表示状態が制御されます。
Window Serverは、そのアプリケーションのすべてのウィンドウを非表示リストに移動します。
アプリケーションの描画処理が完全に停止するため、CPUとGPUリソースの節約効果が高くなります。
特に複数のウィンドウを開いているアプリケーションでは、効果が顕著に現れます。
Chromeで10個のタブを開いているとき、⌘+Mでは1つのウィンドウしか最小化されませんが、⌘+Hではすべてのウィンドウが隠れます。
復帰方法は、Dockのアプリアイコンをクリック、⌘+Tabでのアプリ切り替え、またはSpotlightからの再起動です。
4. パフォーマンスへの影響
メモリ使用量とCPU負荷の観点から、4つの操作を比較してみましょう。
- メモリ使用量では、MinimizeとHideはメモリを保持し続けます。
Closeは該当ウィンドウのメモリを解放します。
Quitはアプリケーション全体のメモリを解放します。 - CPU負荷では、MinimizeとHideは描画処理を停止するため負荷が軽減されます。
Closeは該当ウィンドウの処理を完全に停止します。
Quitはアプリケーションのすべての処理を停止します。 - GPU負荷では、画面に表示されるウィンドウ数が直接影響します。
Hideが最も効果的で、次にMinimize、Close、Quitの順になります。
4.1. 効率的な使い方と注意点
いくつかのアプリケーションでは、標準的な動作と異なる場合があります。
- Finderの特殊性があります。
Finderは⌘+Qが無効になっています。
macOSの基本機能であるため、完全に終了できません。
⌘+Hで隠すことは可能です。 - バックグラウンドアプリの存在も考慮が必要です。
Dropbox、Google Drive、メニューバーアプリなどは、ウィンドウを閉じても動作を続けます。
これらを完全に停止するには⌘+Qが必要です。 - システムアプリでは、一部の操作が制限される場合があります。
システム環境設定やアクティビティモニタなどは、セキュリティ上の理由で特別な終了手順が必要な場合があります。
そのほかの操作を組み合わせることで、より効率的な作業環境を構築できます。
- ⌘+Option+Hという隠れた機能があります。
「現在のアプリ以外をすべて隠す」操作で、集中して作業したいときに便利です。
複数のアプリケーションが開いている状況で、現在の作業に集中したいときに使います。 - アプリ切り替えとの連携も重要です。
⌘+Tabでアプリを切り替えるとき、隠されたアプリケーションは薄く表示されます。
これにより、どのアプリが隠されているかを把握できます。 - Dockの活用では、最小化されたウィンドウはサムネイルとして、隠されたアプリケーションは通常のアイコンとして表示されます。
この視覚的な違いを理解すると、現在の状態を把握しやすくなります。
5. まとめ
macOSの4つのウィンドウ操作は、それぞれ異なる技術的な処理を行います。
Minimize(⌘+M)はウィンドウレベルでの一時的な非表示、Hide(⌘+H)はアプリケーションレベルでの一時的な非表示、Close(⌘+W)はウィンドウの完全終了、Quit(⌘+Q)はアプリケーションの完全終了です。
適切な操作を選択することで、メモリ使用量の最適化、CPU・GPU負荷の軽減、そして作業効率の向上を実現できます。
特に限られたリソースのMacを使っている場合、これらの違いを理解することは重要です。