提问者:小点点

处理2.0b8/处置PGraphics对象和内存管理


我正在制作一个草图,它使用一些PGraphics对象作为缓冲区,我使用image()方法在屏幕上绘制这些对象。

我的问题是我注意到一个巨大的内存泄漏,99%是由于这个缓冲区没有被正确销毁。

有没有办法摆脱这个对象来释放一些内存?我查看了旧GLGS库的文档,并尝试了dispose()方法,但它看起来没有任何效果。


共2个答案

匿名用户

所以,在处理论坛发帖后,感谢@v. k.回答,我发现我的问题不是由错误处置PGraphics对象造成的。

存在内存泄漏,但在2.0b6版中已修复。

因此,如果您有内存泄漏并且您认为它是PGraphicsbug,请更新到2.0b8或更好地查看您的代码。

匿名用户

在处理论坛的这篇文章中看看,直到2.0b6 PImages才出现泄漏。他们建议在那里进行黑客攻击…

void draw()
{
  PImage img = createImage(width, height, RGB);
  image(img, 0, 0);
  g.removeCache(img);// this is avoiding the leak
  println(frameCount + " " + g.getCache(img));
}