我上个月开了几门课。它们变得很大(每个班级30-40个方法)。
我从未想过Memory Leaks,GarbageColletor或类似的东西(我必须说这是我自己的第一个大项目)。
现在我有方法课程,15个课程围绕,每个课程分钟。 20种方法。 50%是DAL中的Linq-Classes,50%是BusinessLogic中的BusinessClasses。 NO Class使用全局变量(不需要),所以理论上我可以使它们成为静态类+方法。目前它们不是,我初始化一个类对象并使用该类 - 而不是处理它。
当系统运行~100位用户时,我会因为内存泄漏等而生气,应该从哪里开始?
答案 0 :(得分:3)
不要担心类的方法,因为它们不占用内存:每个方法在类定义中只存在一次。真正需要记忆的是以字段形式包含在对象中的数据。
关于处理对象(我假设这里是.NET),除非你使用非托管资源,否则没有必要。垃圾收集器将在必要时负责释放所有托管资源(即普通对象及其数据)。
如果您想了解有关.NET垃圾收集器的更多信息以及如何处理内存泄漏,您可以查看此处:http://www.codeproject.com/KB/dotnet/Memory_Leak_Detection.aspx。但是,如果您处于项目的开始阶段,我将专注于获得清晰且可维护的设计,而不是内存管理问题。
答案 1 :(得分:1)
是否可以创建类static
不依赖于“全局”变量的使用,而是依赖于类使用实例字段(类成员变量)的事实。如果您的方法不使用实例数据,则可以是静态的(并且有一个轻松的优先选择)。如果所有方法都是静态的,那么也可以使类静态化。