c# - 内存泄漏 C#

标签 c# memory-leaks

<分区>

我试图更好地理解内存泄漏的概念。任何人都可以指出一些有用的信息,以帮助我更好地准确理解什么是内存泄漏以及如何在我的代码中找到它们。

最佳答案

内存泄漏有很多种,但总的来说是指某种不再使用的资源,但仍然占用内存。如果你有很多这样的应用程序,你的应用程序会占用大量内存,最终你会用完它。

在 C# 中,这些是一些常见的内存泄漏:

  • 不删除事件监听器。使用匿名方法或引用外部对象的 lambda 表达式创建的任何事件监听器将使这些对象保持事件状态。请记住在不再使用时删除事件监听器。
  • 在不使用时保持数据库连接或结果集打开。请记住对所有 IDisposable 对象调用 Dispose()Use the using statement .
  • 使用 p/Invoke 调用 C 函数,它分配您永远不会释放的内存。

关于c# - 内存泄漏 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5020814/

相关文章:

mysql - 在 MySQL 中使用 getopt lib 时出现可疑内存泄漏?

memory-leaks - 内存泄漏 JQuery - 所有浏览器

c# - 如何在 C# 中按进程获取打开的文件句柄列表?

c# - 帮助使用 Linq 查询 XML

c# - gameObject.GetComponent 返回 null

c# - WP7 : Type. GetMethods 抛出 MethodAccessException。这个错误有解决方法吗?

c++ - Valgrind 在程序出现段错误之前就以 "pure virtual method called"中止

c# - 如何将List <Object>转换为继承类的数组?

java - 内存转储比可用内存小得多

java - Hibernate session 中的内存泄漏?