内存回收疑问? 貌似 s == new Systeminfo(); 不能这样写。这和内存回收 有关系吗?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1. 这些和内存回收没什么关系,除非手动释放内存,不然,你无法估计什么时候对实例执行垃圾回收;2. 1和3一样吧?性能上,只能说,2方法因为一开始访问类的时候就创建Systeminfo实例,所以,内存在会一开始就有这个实例,不管用没用到。1,3是延迟创建实例。 至于要想2那样一开始就创建,还是像1,3那样延迟创建,看你需要。2.1 如果创建Systeminfo实例比较耗时,或者说Systeminfo实例实例只是在少数方法内部作为局部变量被创建和访问,那么可以使用延时创建,因为没必要一开始就把内存占着;2.2 如果Systeminfo实例会作为类的成员变量来使用,类里面多个方法的运行都依赖这个实例,那可以考虑一开始就创建。3.看你的代码,可能和计时器有关系,可能是定时获取系统信息的,所以我觉得应该用2方法。至于为什么你是ethod调timer什么的就不清楚你的思路了。 另外,说漏一点,就是如果1,3方法,每当方法实例的method方法被触发,就会new一个Systeminfo。这样如果你的method,被经常调用的话,就会创建多个Systeminfo实例。 而2不会,因为一个实例对应一个Systeminfo实例。所以,2应该更好。 c#怎么向百度发一请求查询一个关键字,然后获取查询一的内容? 哪位大侠说说Jaccard算法的思想 !求助!Nhibernate保存不了对象? 为什么不能在线程中添加树的节点?该如何做? 谁能提供PC版的T9输入法软件? 一个窗体上有多个panel,根据要求切换显示不同的面版里的控件,但这样有问题,请指教! 求助C# DoDrogDrag的使用! DataGrid更改列标题问题 元数据 .net framework下如何用命令行编译一个makefile文件 使用线程打开窗口后,窗口一闪就消失了 ADO.NET 通过updatetext 如何更新 ntext字段?困扰我两周了!
2. 1和3一样吧?性能上,只能说,2方法因为一开始访问类的时候就创建Systeminfo实例,所以,内存在会一开始就有这个实例,不管用没用到。1,3是延迟创建实例。 至于要想2那样一开始就创建,还是像1,3那样延迟创建,看你需要。
2.1 如果创建Systeminfo实例比较耗时,或者说Systeminfo实例实例只是在少数方法内部作为局部变量被创建和访问,那么可以使用延时创建,因为没必要一开始就把内存占着;
2.2 如果Systeminfo实例会作为类的成员变量来使用,类里面多个方法的运行都依赖这个实例,那可以考虑一开始就创建。3.看你的代码,可能和计时器有关系,可能是定时获取系统信息的,所以我觉得应该用2方法。至于为什么你是ethod调timer什么的就不清楚你的思路了。
所以,2应该更好。