Программа ест память:)
Сделал форму с многими элементами в т.ч. DataGrid, в который загружаются данные из MDB-файла.
Каждый раз при открытии формы программа поглощает 2-3 мб памяти и не отдает их обратно при закрытии.
С .NET и C# знаком не очень давно, поэтому буду благодарен за подсказку как переделать, чтобы программа не поедала память.
Код загрузки формы:
Код:
private void productEditDlg_Load(object sender, EventArgs e)
{
this.categoryTableAdapter.Fill(this.tbaseDataSet.category);
this.manufacturerTableAdapter.Fill(this.tbaseDataSet.manufacturer);
this.productTableAdapter.Fill(this.tbaseDataSet.product);
m_bAskOnDeleting = true;
ToolTip tt1 = new ToolTip();
ToolTip tt2 = new ToolTip();
ToolTip tt3 = new ToolTip();
ToolTip tt4 = new ToolTip();
ToolTip tt5 = new ToolTip();
ToolTip tt6 = new ToolTip();
tt1.SetToolTip(linkProductManufacturerDlg, @"Изменить данные в таблице 'Производители'");
tt2.SetToolTip(btnProductRefresh, "Обновить данные");
tt3.SetToolTip(btnProductSave, "Сохранить изменения");
tt4.SetToolTip(linkProductCategoryDlg, @"Изменить данные в таблице 'Категории товаров'");
tt5.SetToolTip(btnProductSearch, "Поиск товаров по заданным параметрам");
tt6.SetToolTip(linkProductClearSearchMask, "Сбросить фильтр поиска");
m_chkName=false;
m_chkModel = false;
m_chkSize = false;
m_chkPricePurchace = false;
m_chkPriceSale = false;
m_chkCategory = false;
m_chkManufacturer = false;
}
{
this.categoryTableAdapter.Fill(this.tbaseDataSet.category);
this.manufacturerTableAdapter.Fill(this.tbaseDataSet.manufacturer);
this.productTableAdapter.Fill(this.tbaseDataSet.product);
m_bAskOnDeleting = true;
ToolTip tt1 = new ToolTip();
ToolTip tt2 = new ToolTip();
ToolTip tt3 = new ToolTip();
ToolTip tt4 = new ToolTip();
ToolTip tt5 = new ToolTip();
ToolTip tt6 = new ToolTip();
tt1.SetToolTip(linkProductManufacturerDlg, @"Изменить данные в таблице 'Производители'");
tt2.SetToolTip(btnProductRefresh, "Обновить данные");
tt3.SetToolTip(btnProductSave, "Сохранить изменения");
tt4.SetToolTip(linkProductCategoryDlg, @"Изменить данные в таблице 'Категории товаров'");
tt5.SetToolTip(btnProductSearch, "Поиск товаров по заданным параметрам");
tt6.SetToolTip(linkProductClearSearchMask, "Сбросить фильтр поиска");
m_chkName=false;
m_chkModel = false;
m_chkSize = false;
m_chkPricePurchace = false;
m_chkPriceSale = false;
m_chkCategory = false;
m_chkManufacturer = false;
}
Какбэ сразу и не должна память возвращатся. Почитай про сборку мусора в C#. Вкратце если не хранить ссылки на объекты они когданибудь сборщиком мусора будут почищены.
Цитата: arrjj
Какбэ сразу и не должна память возвращатся. Почитай про сборку мусора в C#. Вкратце если не хранить ссылки на объекты они когданибудь сборщиком мусора будут почищены.
Мусор на работу не как не влияет , только влияетъ на размер файла.
Всем спасибо! Просто после C++ такое поведение приложения кажется моей недоработкой.
Цитата: plastictown
Всем спасибо! Просто после C++ такое поведение приложения кажется моей недоработкой.
пищи на с++ кто запрещает:)