【问题标题】:memory handling in c# windows applicationc# windows 应用程序中的内存处理
【发布时间】:2009-10-03 05:49:42
【问题描述】:

我有一个 Windows 窗体应用程序。当我尝试运行此应用程序时,它会不断增加内存使用量。我该如何控制?

只是我的应用程序只包含 10 到 15 个数据库调用。

从评论到答案的代码(虽然没有上下文):

Label lbl = new Label();
lbl.Text = "my data label";
lblrss.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F,
                                      System.Drawing.FontStyle.Bold,
                                      System.Drawing.GraphicsUnit.Point,
                                      ((byte)(0)));
lblrss.Click += new EventHandler(llrss_Click);
mytbl.Controls.Add(lbl);

这是我的代码,请检查一下

谢谢你, 那古

【问题讨论】:

  • 这是一个非常抽象的问题。可能有很多原因会导致内存激增,例如未释放非托管资源、未取消挂钩事件处理程序、处理大型 XML 数据是一些常见原因
  • 我已在下面的评论中发布了您的代码,作为对您答案的修改。

标签: c# winforms memory-management


【解决方案1】:
  1. 确保关闭阅读器和数据库连接
  2. 如果您要向动态数据项添加事件处理程序,请在下次绑定之前移除事件侦听器。

没有代码,我只能给你这两点重点。

【讨论】:

  • 标签 lbl = new Label(); lbl.Text = "我的数据标签"; lblrss.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); lblrss.Click += new EventHandler(llrss_Click); mytbl.Controls.Add(lbl);这是我的代码请检查一下
  • 你应该删除你的 lblrss 的事件处理程序。如果它每次都设置,请单击
猜你喜欢
  • 2013-01-21
  • 1970-01-01
  • 2018-07-12
  • 1970-01-01
  • 2013-12-17
  • 2013-04-16
  • 1970-01-01
  • 1970-01-01
  • 2021-08-27
相关资源
最近更新 更多