.net - 是否有必要像在 VB6 中一样释放 .Net 中的内存?

标签 .net vb6 garbage-collection

我正在阅读 VB6 中的表单事件,例如“Unload”、“QueryUnload”和“Terminate”,以及“End”语句: https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-5533338.html http://visualbasic.freetutes.com/learn-vb6-advanced/lesson6/p5.html

我曾经遇到过 VB6 应用程序的问题(它调用了很多 Windows 的 API)。当我在主窗体的 Unload 事件中“结束”时,它使整个 IDE 崩溃了!当我小心地关闭所有连接,停止我的计时器,将所有表单设置为空,并在所有清理过程之后,将“结束”放在主表单的终止事件的最后一行,一切正常。不再崩溃:)

我的问题是是否有必要在 .Net 环境中执行所有这些“清理过程”。我知道有垃圾收集器可以清除所有可能导致问题的剩余位。

或者,无论是 VB6 还是 .Net 都没有关系,在“结束”您的应用程序之前清理所有内容是一个好习惯吗?

最佳答案

不需要。

除非您正在引用 COM 或 GDI+ 相关或非托管组件或您正在使用的资源,否则您必须在 Dispose 处手动处理引用方法。

请在此处查看 more reference .

关于.net - 是否有必要像在 VB6 中一样释放 .Net 中的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1595118/

相关文章:

c# - .NET:运行 VS Team Test 时获取文件的绝对路径

c# - 如何在 .Net 中对 Neo4j 进行单元测试?

c++ - 从 VB6 调用 DLL 函数

vb6 - 最佳实践 : Out parameters vs complex return types in methods

java - Java 中的内存使用和垃圾收集

java - 什么是对 Java GC 最好的循环图表示

c# - 在 .NET 中禁用 ChromeDriver 扩展

c# - 使用await顺序调用异步任务有什么好处?

string - (VB6) 逐行读取文本文件查找特定单词

python垃圾收集器和列表