我正在创建新的字节数组,这些数组不被 GC 收集,并且存在于内存中并增加私有字节。下面的代码每 10 秒执行一次。使用完变量后如何显式清除该变量?
byte[] outputMessage = new byte[10000];
//Do some work here
你怎么知道它们没有被收集?您提供的代码很好,如果您没有任何悬而未决的引用,它应该可以被收集。
明确地,您可以通过以下方式清除引用
outputMessage = null;
你可以暗示 GC 它应该这样做:
GC.Collect();
但是,不能保证您的对象会被收集,并且通常不需要手动干扰 GC。
如果您一直添加新的事件处理程序,是否会删除旧的事件处理程序?如果没有,那么他们仍然为您保留参考。
编辑:为了清楚起见,以及OP的新信息
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)