我刚刚注意到 BooleanExpression 和 Bindings 类中的 not()、and() 和 or() 方法创建了一个新的 BooleanExpression,即使它没有任何引用,它也可能保留在内存中。
myBool = new SimpleBooleanProperty();
for (int i = 0; i < 10000000; i++) {
myBool.not();
}
上述代码会创建大约 530 MB 的内存,直到取消引用(并清理)“myBool”变量为止。
这是错误还是正常行为?如果是这样,有什么方法可以在不丢失“myBool”变量的情况下清理内存?