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。定期受信でだんだんふえてくるけど、
一旦開いてメールを読んで閉じれば、また小さくなる。
でも、このメモリ使用量、減ったところでどれだけ意味があるんだろう?
どうせ次に動作する時にまた使うわけですし、、、。