首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何释放dll方法占用的内存?

如何释放dll方法占用的内存?
EN

Stack Overflow用户
提问于 2015-05-28 17:37:26
回答 1查看 102关注 0票数 0

我有一个从我的.Net c#代码调用的dll本机方法。每次调用该方法时,它都会占用Windows内存空间。在某一时刻,我的代码由于内存不足而失败。如何释放Windows内存空间?

EN

回答 1

Stack Overflow用户

发布于 2015-05-28 17:45:39

本机方法应该允许您访问用于释放它所分配的内存的方法,或者它应该告诉您它是如何分配的以及如何释放它。

通常,如果一个方法返回一个指针(或string,或句柄!如果你不问自己这个问题,你可能会产生一个内存泄漏。

然后,您应该注意由包含字符串或指向其他对象的指针的库构建的可疑结构(“对象”),并确保.NET封送拆收器能够在必要时释放内存。

一般来说,处理pinvokes的内存是很复杂的!这需要非常小心,即使编组员可能会向您隐藏一些东西。

请参阅https://stackoverflow.com/a/18172997/613130https://stackoverflow.com/a/29508809/613130

那么内存泄漏总是有可能是由错误的代码dll端引起的,然后除了纠正dll代码中的错误之外什么都不做/联系编写它的人

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30502732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档