多线程程序中遇到内存溢出异常,程序终止。
system.outofmemoryexception
原因:
例:MyFile对象中(img属性)存放的为读取的文件二进制byte[],当img属性被其他对象引用完成后,线程结束时进行
MyFile =null;
GC.Collect();
线程结束后img属性资源并未被回收释放。
解决:
当对象属性存放占用较高内存的数据时,在对象使用完毕或退出线程前手动进行释放,及时清理内存占用,
MyFile.img=null;
MyFile=null;
GC.Collect();