新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

Assembly.Load多次同一DLL是不是造成的消耗严重,assembly load

发布时间:2023-12-27 01:37:49

Assembly.Load屡次同一DLL是否是酿成的消耗严重

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

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

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

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