一个简单的问题:你能确定 finish()
会调用 onDestroy()
吗?我没有找到任何证实这一点的信息。
一个简单的问题:你能确定 finish()
会调用 onDestroy()
吗?我没有找到任何证实这一点的信息。
finish()
不会调用 onDestroy()
。你可以通过阅读 源代码 来确认这一点。通常情况下,finish()
会触发对 onDestroy()
的调用。finish()
最终会导致 onDestroy()
被调用。onDestroy()
方法。 - CommonsWarefinish()
不是final
,因此它可以被覆盖,而且覆盖实现在某些情况下可能选择不链接到超类,原因可能很奇怪。而且,在finish()
和onDestroy()
之间发生崩溃至少在理论上是可能的,尽管我不知道任何这样的情况。 - CommonsWare不能确定!
调用finish()通常会触发Activity生命周期中的onDestroy()方法,但您不能依赖它。特别是不能用它来保存数据。 文档明确说明。
do not count on this method being called as a place for saving data!