我想知道使用JFrame的remove(Component comp)方法是否会从内存中释放组件并销毁它,还是保留以供将来使用?我担心内存泄漏,但我在 oracle's documentation 找不到线索
最佳答案
JFrame.remove 仅从 JFrame 中删除组件。
组件是否从内存中删除取决于是否有任何其他对该对象的引用。
如果 JFrame 是最后引用该组件的东西,则该组件将被 Java 的垃圾收集删除。
如果代码中的其他位置仍然存在另一个 Activity 引用,则您还需要在垃圾收集之前删除该引用。
(理论上... Java 可能会也可能不会垃圾收集您的对象,因为它认为合适。不过,当您耗尽内存时,它往往会更加激进,并且通常可以相信它会继续完成这项工作)
关于java - JFrame.remove(Component comp) "destroys"我的组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26061623/