Aspose PDF内存泄漏问题

Posted

技术标签:

【中文标题】Aspose PDF内存泄漏问题【英文标题】:Aspose PDF memory leak issue 【发布时间】:2014-08-24 06:54:58 【问题描述】:

我们正在使用 Aspose PDF 并面临以下问题,这些问题有点令人眼花缭乱:

    Aspose PDF 没有释放内存。我们已将对象设置为 null,但它们不会释放内存。结果 - 在我的 web 服务中,在 20-30 次调用后,服务器内存被 100% 使用,并且它们开始创建超时。

    --我们正在尝试与 aspose 支持团队解决 - 但自过去 2 周以来没有具体答复。

    当我们将 PDF 转换为 txt 或 html 时 - 这会添加许多我们的脚本无法识别的特殊字符。

非常感谢您的帮助

【问题讨论】:

Aspose 支持团队怎么说? Aspose 团队同意此内存泄漏,但他们说要修复——我们会尽快回复您。并且已经有一个多星期了,同样的答案。 ;) @Bob - 这是他们最新的回复 - 如前所述,现在产品团队正在调查此问题,请多花点时间进行适当的调查。我们会尽快回复您。 我想在这种情况下你可能找不到能解决问题的人。我的意思是,如果支持团队不知道该怎么做,那么可能没有其他人知道。 嗨,我对大型 PDF 也有同样的问题,在 Aspose 运行后它没有释放内存,并且 16MB 的 PDF 在处理过程中占用了 2.5GB 的 RAM。在我不得不终止进程之前,我还有一个 11MB 的 PDF 无法打开并慢慢消耗了 15GB 的 RAM。我注意到这个线程上的日期,所以想知道你是否有解决方案? 【参考方案1】:

在寻找我自己的内存泄漏问题的解决方案时偶然发现了这篇文章,虽然这个是在他们的幻灯片库中找到的,用于与 Powerpoint 文件交互。不确定您使用的是什么语言,但这是我们最终使用 .NET 解决它的方式。

在 Aspose 团队的帮助下,我们终于发现处理这个问题的最简单方法是使用单独的 AppDomain 来处理有问题的代码。这对性能有轻微影响,但最多只有几秒钟,所以我们认为这是可以接受的。这意味着在我们完成后,我们可以调用 AppDomain.Unload(variable) 它将关闭所有内容并清除内存,这解决了所有问题,我们看到内存泄漏然后卸载发生后,我们看到所有东西都释放了。希望这会有所帮助!

【讨论】:

我知道那是很久以前的事了,但我想你没有更多关于这个甚至更好的信息,一些示例代码? “我们终于找到了处理这个问题的最简单方法[...]” 这当然是Aspose 最简单的方法:让他们的用户创建一个解决方法。但是,真正的修复会很好,因为现在是 2021 年,问题仍然存在。 恐怕不行,使用 Aspose 的项目现在早就被封存了,但从那时起很可能有多个新版本,所以它很可能被修复。

以上是关于Aspose PDF内存泄漏问题的主要内容,如果未能解决你的问题,请参考以下文章

UIGraphicsGetImageFromCurrentImageContext 内存泄漏与预览

iTextSharp - 非常大的表内存泄漏

RenderTargetBitmap中的内存泄漏

c++ 内存泄漏问题

QByteArray导致的内存泄漏问题

Android ValueAnimator --内存泄漏