.Net内存优化的几点经验

以前从来没有想过.Net开发居然存在内存无法释放的问题,总是认为GC给我处理好了一切。现在GIS二次开发结合三维球开发,没有想到存在如此严重的内存增长,很快内存就不够用了,导致系统各种不稳定。球体就开始闪烁,无法创建设备,OutOfMemory

1.慎重使用单例,单例会始终保持一个静态对象的引用,内存始终不释放。如单例窗体,解决方法是在Dispose方法中将静态引用置为null。

2.字符对象使用不当:过多太长字符串,占用大对象堆;同时尽量不使用字符串加,改用StringBuilder

3.流对象没有关闭。如文件流,网络传输流(HttpResponse,FtpResponse)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。