Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不使用dispose方法释放非托管代码的内存_C#_.net_Clr_Pdfium - Fatal编程技术网

C# 不使用dispose方法释放非托管代码的内存

C# 不使用dispose方法释放非托管代码的内存,c#,.net,clr,pdfium,C#,.net,Clr,Pdfium,我在我的C#项目中安装了一个使用非托管代码的NuGet包。我已经创建了一个密封类的对象。类中未定义dispose方法。如何释放非托管内存? 我可以看到我的内存使用量在一次又一次地增加,我的应用程序也被淘汰了。 我的代码是 var bitmap = new PDFiumBitmap(100, 100, true); 我尝试了((IDisposable)位图).Dispose()它不工作 这里,PDFiumBitmap是一个非托管对象。我想释放记忆。 PDFiumBitmap给了我一个句柄。看起

我在我的C#项目中安装了一个使用非托管代码的NuGet包。我已经创建了一个密封类的对象。类中未定义dispose方法。如何释放非托管内存? 我可以看到我的内存使用量在一次又一次地增加,我的应用程序也被淘汰了。 我的代码是

 var bitmap = new PDFiumBitmap(100, 100, true);
我尝试了
((IDisposable)位图).Dispose()它不工作

这里,PDFiumBitmap是一个非托管对象。我想释放记忆。 PDFiumBitmap给了我一个句柄。看起来像一个指针

如果没有办法,您可以尝试将
GC.collect()
放在您想要释放内存的地方(不太推荐)。

位图设置为
null
如果设置为null,它将不会释放非托管内存
PDFiumBitmap
由谁负责管理它使用的资源。您会说“我尝试了
((IDisposable)位图)。Dispose()
;它不工作”。什么意思?它是编译的,还是没有改变您认为看到的行为?你是如何测量内存使用率的?“我的应用程序被踢出”是什么意思?这个类有一个Dispose方法。你确定它不是一次性的吗?我用的是nuget套装。该包不包含dispose方法