c# - 如何使我的 C# Windows 应用程序轻量级?

标签 c# performance resources dispose

<分区>

伙计们,我在 C# Windows 窗体应用程序中开发了一个票务管理系统。现在这是我第一次开发任何可能在现实世界中使用的应用程序(我的学校可能会实现它)。

因为我的学校不是那么富有而且主要是由慈善机构经营的,所以他们使用的技术很老(Pentium 4 pcs with windows XP having maximum 1 gb RAM),所以我需要让我的应用程序尽可能轻量级尽可能,即它不应该是资源匮乏的。 (我在具有 4 GB RAM 的双核笔记本电脑上开发了这个应用程序,我还没有发现任何关于资源的错误,但考虑到我想确定的目标 PC 的低配置)

我的应用程序中有大约 25 个表单,其中 7-8 个包含 DataGridView。其他的只是充满了用于获取输入或显示数据的标签和文本框 - 没什么特别的。

由于这是我的第一个完整应用程序,我不确定它在性能部门的表现如何。我在某处读到,在 .Net 应用程序中,只要表单更近,就必须调用 dispose() 方法,否则垃圾将不会被收集,DataGridView 也是如此。真的吗?因为在整个应用程序中,我没有在任何地方使用 Dispose。我应该担心吗?

如果 Dispose() 是必需的,我应该在何时何地调用它?在 FormClosed 事件上?如果一个表单有 DataGridView 我应该先处理它然后处理表单还是直接处理表单就足够了?此外,如果您“有经验的程序员”可以指出一些好的做法来使应用程序减少对资源的依赖并减少崩溃的可能性,那就太好了。

最佳答案

据我所知,C#(和 .NET)是托管的。因此,您的代码和对象将被丢弃。

一个好技巧,就是看看使用 Using block 。这些在数据连接方面特别有用。

另一个明显的建议是在您将要使用它的机器上实际运行它,并查看它的性能。

希望这对您有所帮助。

关于c# - 如何使我的 C# Windows 应用程序轻量级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22785121/

相关文章:

c# - 节俭.Transport.TTransportException : Cannot write to null outputstream

c# - MVC4 中从 View 到 Controller 的 JSTree 调用

C# 跟踪复制的文件

javascript - 即使 pure 总是更快,我什么时候应该使用 React 无状态组件?

c++ - 如何提高C++ STL位集效率?

sql-server - 是什么使得 SQL 语句可控制?

resources - 编码杂志

c# - 是否可以在程序集 G 和 M 的类型之间的程序集 A 中添加隐式运算符?

android - 为什么使用 inputStream 不读取外来字符?

c++ - LoadString() 方法在 C++ 中不起作用