我使用Box2D在我的世界中不断生成和删除圈子。然而,过了一段时间它的内存耗尽:
无法放大内存阵列。 (1)使用-s TOTAL_MEMORY = X编译,其中X高于当前值16777216,(2)使用ALLOW_MEMORY_GROWTH编译,在运行时调整大小但阻止某些优化,或者(3)在程序运行之前设置Module.TOTAL_MEMORY。
world.DestroyBody
用于删除圈子,我创建的每个b2vec2
,b2BodyDef
和b2FixtureDef
都使用Box2D.destroy
释放。尽管如此,错误仍然显示出来,我不明白为什么。
这是我正在处理the fiddle的链接。
处理内存泄漏的好方法是什么?是否有可以检测它们的工具类似于C中的Valgrind?