Linux 拨号vps windows公众号手机端

Assembly.Load多次同一DLL会不会造成的消耗严重

lewis 8年前 (2017-05-23) 阅读数 11 #程序编程
文章标签 assembly.load

Assembly.Load方法会在内存中加载一个程序集,并返回一个Assembly对象。如果多次调用Assembly.Load方法加载同一个DLL文件,会导致该DLL文件被加载多次,每次加载都会占用一定的内存空间。

这种情况下会造成内存的浪费,因为每次加载都会将程序集复制到内存中,假设DLL文件的大小为100KB,每次加载都会增加100KB的内存占用。

当然,CLR (Common Language Runtime) 会对已经加载的程序集进行缓存,以便下次使用时能够提高加载速度。但即使存在缓存,重复加载同一个DLL文件也会对内存产生一定的消耗。

因此,为了避免内存浪费,可以在代码中使用单例模式或者其他方式,确保只加载一次DLL文件。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门