java - JFrame.remove(Component comp) "destroys"我的组件?

标签 java oracle swing memory-leaks

我想知道使用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/

相关文章:

java - 匹配特定模式

sql - 查找表中缺失的序列

sql - 如何避免SQL Developer中的 "raw variable length too long"错误?

java - 如何使用 ODI 11g SDK 获取连接属性

java - Google Apps 类到 JList

绘图时 Java Swing NullPointerException

java - 使 JButton 重叠

java - 无法将 JLabel 与 JCheckBox 垂直对齐,就像单个 JCheckBox 与 GroupLayout 一样

java - 预订逻辑不起作用

java - 无法在 WAS 7.0 上将 Websphere WebSphereUowTransactionManager 与 Spring 3.0 一起使用