在Java中使用finalize()是否合适?

时间:2014-06-04 22:59:12

标签: java android c++ memory-management

我有一个大量使用C ++ JNI共享对象的Android项目。实际上,我有一个Java对象来管理从JNI调用分配的资源。在那个特定的Java对象上,我使用finalize()调用来处理对象被破坏时释放这些本机资源。

这一切似乎都有效,但我没有看到任何内存泄漏,但是,我听说你使用Java终结器是不受欢迎的(有效的java,第2版第27页。第7项:避免终结器等)。是否存在使用finalize()适当的情况,例如我上面描述的情况?我不知道还能做些什么来确保清理那些本地资源。

1 个答案:

答案 0 :(得分:2)

我相信你的案例是少数appropriate to use a finalizer之一。

相关问题