我正在制作一个草图,它使用一些PGraphics对象作为缓冲区,我使用image()方法在屏幕上绘制。
我的问题是我注意到一个巨大的内存泄漏,99%是因为这个缓冲区没有被正确销毁。
有没有办法摆脱这些物品来释放一些记忆?我查看了旧的GLGS库的文档,并尝试使用dispose()方法,但它看起来没有任何效果。
答案 0 :(得分:1)
在处理论坛中查看this帖子,看起来直到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));
}
答案 1 :(得分:1)
所以,在处理论坛发帖后,感谢@ v.k。回答,我发现我的问题不是由错误处理PGraphics对象造成的。
有关于它的内存泄漏,但它已在版本2.0b6中修复。
因此,如果您有内存泄漏而且您认为它是PGraphics错误,请更新到2.0b8或更好地查看代码。