Android:将完成()总是调用onDestroy()?

简单的问题:你可以肯定finish()会调用onDestroy()吗? 我还没有find任何确认。

Solutions Collecting From Web of "Android:将完成()总是调用onDestroy()?"

简单的问题:你可以肯定finish()会调用onDestroy()吗?

首先,这个答案假定你指的是Android的Activity类和它的finish()方法和onDestroy()生命周期方法。

其次,这取决于你对“肯定”的定义:

  • 您的进程可能会在finish()onDestroy()之间终止,原因与触发调用finish()

  • 一个设备制造商或者ROM modder可能会引入一些扭曲的变化,会破坏finish()onDestroy()之间的连接。

  • finish()onDestroy()之间的电池可能会死亡

  • 等等。

第三, finish()不会调用 onDestroy() 。 你可以通过阅读源代码来得知。 finish()通常会触发onDestroy() 的调用

一般来说, finish()最终会导致onDestroy()被调用。

不,你不能确定!

调用finish()通常按照Activity的生命周期触发onDestroy(),但不能依赖它。 特别是不保存你的数据。 文件清楚地说

 do not count on this method being called as a place for saving data!