我构建了一个 JavaFX(8) 3D 应用程序,它从某个文件中读取数据并将其呈现在某个场景中。
为了渲染一个对象,我使用:
graphicsContainer.getChildren().add(some3dObject);
当我注释掉这一行时,为了禁用渲染,我根本没有内存泄漏。
但是当这条线运行时,应用程序会消耗越来越多的内存。我每秒有 30 帧,每秒内存消耗增加约 50MB。
这当然是,尽管在我使用的帧之间:
graphicsContainer.getChildren().clear();
我分配给的 3D 对象graphicsContainer
是本地的,不会保存在任何静态/全局范围内。它们仅保存为 的子级graphicsContainer
,在每一帧上都会被清理。
尽管我每次删除graphicsContainer
.
知道如何让 JavaFX 3D 引擎释放过去的 3D 对象和渲染吗?