- - PR -
常駐型アプリのメモリについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-11-19 14:56
いつも参考にさせていただいております。
さて、質問なのですが VB2005にて作成した、タスクトレイに常駐するタイプのアプリを作成しました。 内容は、指定したフォルダにテキストファイルがあるかどうかを確認し、 あればそのテキストファイルの内容をフォームに表示するというものです。 このプログラムが常駐している間、タスクマネージャーで確認すると メモリが増え続けてしまいます。 以下概要です。 ================================== Form1・・・メインとなるフォームで設定画面として使用。 このフォームがタスクトレイに格納されます。 TimerコントロールのIntervalで、5秒おきにForm1で指定したフォルダを確認。 ファイルが存在するとき、表示用のForm2をForm2.Show()で呼び出し。 Form2・・・フォームロード時? Public Sub New() で ReadAllTextメソッドを使用してテキストファイルを読み込み、フォームに表示。 Form2に「OK」ボタンがあり、押すことでForm2を閉じています。 閉じ方は Me.Close() で閉じています。 ================================== 大まかな動きとしては以上です。 この時、大きなファイルを読み込んだForm2を閉じればメモリは自動で開放されて 使用メモリは減るものだと思っていたのですが、大きなテキストファイルを開いた時のままで 使用メモリが減りません。 何か行儀の悪いことをしていたりするのでしょうか? |
|
投稿日時: 2008-11-19 15:41
Form の Close メソッドや Dispose メソッドを呼び出して解放されるのはアンマネージリソースです。
メモリがすぐ解放されるわけではありません。 参考 URL: http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=7&topic=24911 http://www.microsoft.com/japan/msdn/community/gdn/ShowPost-26167.htm _________________ Nakamura Blog |
|
投稿日時: 2008-11-20 20:24
遅くなってすみません。
返信ありがとうございます。 過去ログでも同様の問題があがっていたんですね。 うまく探せていませんでした。 別件の仕事が入ってしまい、今すぐ検証等はできませんが 教えていただいたURLを参考にさせていただき、もう少し考えてみようと思います。 ありがとうございました! |
1