自己写了一个类,在其中new了100个引用对象(某个类的数组)。
现在的问题是:该类在第二次使用时(该类执行一特定的方法,输出结果),必须对100个引用对象的初值重新设定。目前采用的方法是,第二次使用时,直接重新new了100个对象。
感觉这样做,每次都丢弃100个对象,交由托管系统来负责释放,对系统资源是种浪费,并且每次new时分配资源,也影响程序的运行效率(并不明显,便理论上是会的)。是不是应该重写该类,使得其只new一次那100个对象,以后再使用之前,不是new,而是置那100个对象为合适的初值。有没有什么编程的指导原则,说明的确是应该这么做?因为现在看来,完全可以丢弃那100个对象不管,重新new,对于使用该类的人来说,并不知道发生了什么事情。

解决方案 »

  1.   

    其实这类问题不用主动去考虑它,因为.Net有机制可以解决频繁使用对象的问题。LZ有没有听说过WeakReference,看看这个是不是可以借鉴。
    大意是说,采用WeakReference的对象会在一段时间内不被真正释放,但在Managed Stack满的情况下会被清理