- ベストアンサー
vb フォームを消した後のメモリ
こんにちは。 VB2010Express .NET4.0 趣味でプログラミングを始めた初心者です。 ものすごく初歩の事かと思うのですが ご教授いただければ幸いです 今作ってるプログラムには2つウィンドウがあり 1つのウィンドウAからもう1つのウィンドウBを開ける形です AからBを開いた時のタスクマネージャーで見たメモリは5600K Bで作業しているうちに14000Kとなりました それでBを閉じた後、つまりAだけになった時のメモリは14000Kでした Bを閉じたのにメモリが減らないのはなぜでしょうか。 関係あるのかは分からないのですがクラスBの変数の開放はやっています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
メモリ管理しているだけですよ。 もう一回呼び出す可能性があるだろうから、余裕があるんならメモリ上に置いておけって感じで。 何回も呼び出す可能性のあるものをHDD上から読む込むのも時間がかかります。 メモリ管理はOS側(.Net側)の仕事なので、巨大なデータを扱うのでなければ意識しなくていいですよ。 他のプログラムを起動しまくったり、ある程度時間が立つとGCが働いて自動回収されると思います。
その他の回答 (1)
- MARU4812
- ベストアンサー率43% (196/452)
#1 さんの回答に出てきていますが、 >GC 『ガベージコレクション』 というキーワードで調べてみるといいかも。 強制的に GC を動かすコードも用意されています。 設計思想に反するので使わない方がいいのですが、 実際に解放されるか試してみればいいでしょう。 http://www.atmarkit.co.jp/fdotnet/dotnettips/021gc/gc.html ただし、アンマネージリソースは解放されないです。 VB は外部(.NetFramework以外)の DLL とか利用する場合も 多いですし、ファイルやデータベースも普通に使うから GC あるから安心とは思わないほうがいいですが。
お礼
ご回答ありがとうございました。 そんなに気にしなくてもいいようですね。 最初にご回答いただいたNo1の方をベストアンサー とさせていただきました。 お二方ともありがとうございました。