在Ruby中如何处理RMagick中的内存泄漏?

前端之家收集整理的这篇文章主要介绍了在Ruby中如何处理RMagick中的内存泄漏?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用Merb和im开发Web应用程序,寻找一些安全稳定的图像处理库.我曾经在PHP中使用Imagick,然后移动到 ruby并开始使用RMagick.但是有一个问题.长时间运行的脚本导致内存泄漏.有几种解决方案存在,但我不知道哪一种是最稳定的.所以你怎么看?

现在,我的应用程序使用内部API,我用PHP编写来处理图像.它与其他应用程序一起在单独的服务器上运行,所以它不是一个大问题.但我认为它不是一个好的建筑.

无论如何,我会考虑任何实用的提示.

解决方法

我也遇到这个问题 – 解决办法是强制垃圾收集.

当您将图像变量重新分配到新图像时,只需使用GC.start来确保旧的引用从内存中释放.

在更高版本的RMagick,我也相信你也可以打电话摧毁!当你完成处理它的图像.

两者的组合可能会确保您被覆盖,但不能确定真实生活对性能的影响(我认为在大多数情况下可以忽略不计).

或者,您可以使用mini-magick这是ImageMagick命令行客户端的包装器.

猜你在找的Ruby相关文章