在使用 JFXtras Agenda 时,我遇到了一些严重的内存消耗问题。首先我认为它在我身上,因为我已经实现了我自己的皮肤,它产生了可变数量的“列”。但 FXSampler 应用程序也存在同样的问题。玩了 5-10 分钟后,添加约会、删除约会、切换皮肤等。visualVM 告诉我堆大小约为 1,2GB(使用了四分之三)
我试图找到一个解决方案,但到目前为止没有成功。我能说的是:删除和添加约会非常繁重——当我在切换皮肤时不清空我的可观察列表时,我几乎没有记忆问题。'不知何故'约会和一些听众(例如约会列表更改监听器)在切换我的皮肤后仍然保持活动状态,尽管它们应该被删除。
也许有什么想法?
谢谢!!
更新: 使用 VisualVM 的堆转储现在允许我查看类实例。不幸的是,我仍然无法发布图片,但有一些示例:
com.sun.javafx.geom.RectBounds: 697990 个实例
AppointmentRegularBodyPane: 9236 个实例
AppoitmentMenu: 9236 个实例
...所以销毁旧对象似乎确实存在问题