gpt4 book ai didi

Android finalize() 和 System.exit()|System.gc()

转载 作者:行者123 更新时间:2023-11-30 03:21:23 25 4
gpt4 key购买 nike

我有一个关于垃圾收集器和 Object.finalize() 的问题。我创建了一个实现终结方法的类。如果我运行我的应用程序并在 DDMS 中强制执行 GC,则在我的类的对象上调用 finalize 而没有留下任何引用。但是,如果我在我的应用程序中调用 System.gc(),则不会调用 finalize。离开应用程序时调用 System.exit(0) 不会导致最终确定。为什么不调用 finalize?

最佳答案

But if I call System.gc() within my app finalize is not called.

那是因为你的对象没有被垃圾回收。 gc() 不执行完整 GC。相反,它会收集一些垃圾,然后返回。

Calling System.exit(0) when leaving the app doesn't cause finalize neither.

那是因为你的进程正在终止。终结器不会在进程终止时运行。并且,正如 Raghunandan 指出的那样,请不要调用 System.exit(0)

关于Android finalize() 和 System.exit()|System.gc(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19077798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com