Windowsアプリケーション

最小化すると、メモリ使用量が減る。
何故?また、この値は減った方が良いのか?

理由はわかりませんが、事象は以下の通り。
現象

  • 私の環境は、Windows 2000 SP4、XP Pro SP1/2でもなる
  • 何でもよいと思われるので、ウインドウを開く(ex. notepad.exe)
  • タスクマネージャで該当ウインドウのメモリ使用量を確認する
  • 最小化する

たったこれだけで、メモリ使用量が2分の1から20分の1くらいになります。


憶測としては、前面ウインドウが無くなるので、マウスキャプチャ等が
不要になるため?とか思っています。
が、ShowWindowのSW_HIDEでは通常と変わりません。
また、最小化中に処理を行うと、徐々に増えて行きます。
10秒毎にメッセージボックスを出すプログラムの最初で、
ShowWindow-SW_MINIMIZE&SW_HIDEするものを作ると確認できます。
タイマイベント後、SW_MINIMIZE&SW_HIDEするとまた元の少ない状態になります。


MSDNやらWebSiteやらいろいろ調べたのですが、調べきれませんでした。
常駐系のあまり動かないWindowsアプリケーションを作る場合、良いかも。
例えば、メーラとか。
閉じる動作をSW_MINIMIZE&SW_HIDE。定期受信でだんだんふえてくるけど、
一旦開いてメールを読んで閉じれば、また小さくなる。


でも、このメモリ使用量、減ったところでどれだけ意味があるんだろう?
どうせ次に動作する時にまた使うわけですし、、、。