システムのメモリ管理に関して問題があります。
基本的にここに私のデザインがあります:
レコードのリストを読み込みます。frmBrowse 使用メモリ 90MB
レコードをクリックすると、選択したレコードの詳細フォームである別のフォームがポップアップします frmAP 使用メモリ 110MB
private void ViewRecord() { try { if(oAP!=null) oAP = new frmAP(); oAP.LoadRecordDetails(); oAP.Show(); } catch (Exception ex) { clsClass.oGenMethods.ErrorMessage(ex.Message, "frmBrowse", "EditSearchFields"); } }
- ユーザーが閉じると、実際に非表示にする(frmAP)ルックアップテーブルなどのデータの再クエリを防ぐ - frmAP - 使用メモリ110MB
frmAP_Close() について
this.Hide();
-110MBのメモリ
- フォーム ( frmSomeForm ) を非表示にした後、メモリは 110MB のままです
"frmAP" が呼び出された/インスタンス化された Form(frmBrowse) をユーザーが閉じたとき
public void tsClose_Click(オブジェクト送信者, EventArgs e) {
if (oAP != null) { oAP .Dispose(); oAP .Close(); GC.Collect(); }
}
問題は、リスト (frmBrowse) フォームとレコード フォーム (frmAp) が閉じられたかどうかにかかわらず、メモリがまだ ~110MB であることです。
ご意見をお聞かせください
前もって感謝します
アップデート:
問題を特定するために .Hide() を削除しようとしましたが、それでもメモリは増え続けます