在对象被销毁之前如何知道

时间:2015-12-13 20:14:25

标签: java

在java对象被销毁之前有没有办法知道?

例如:

A类{}

我已将其实例化为新的A()。现在我想知道什么时候这个对象会被销毁并在它被销毁之前做一些操作。

2 个答案:

答案 0 :(得分:2)

您的意图非常不受推荐。因为当gc运行时以及实际调用此方法时,它完全不可预测。

如何:

您可以覆盖finalize()的{​​{1}}方法:

有关详细信息,请参阅此处:When is the finalize() method called in Java?

如果gc确定不再引用特定对象,则调用此方法。

另请参阅:Oracle JavaDoc for Object

答案 1 :(得分:1)

是的,有一种方法,它被称为"对象终结"。查看@Override public void setMenuVisibility(boolean menuVisible) { super.setMenuVisibility(menuVisible); if (savedFragment!= null) savedFragment.setMenuVisibility(menuVisible); } 方法。但要注意:如果走下去,只会发现痛苦。