我一直认为finish()会立即在onDestory()上触发,但是在4.3中似乎不是事实。
我只想知道它将在哪种情况下发生?
抱歉,我不能将所有代码都放在这里。
它使我困惑了几个小时,我找不到任何有用的信息。

最佳答案

From the docs:


  onPause()是保证在进程被杀死之前可以调用的最后一个方法-如果系统必须在紧急情况下恢复内存,则可能不会调用onStop()onDestroy()。因此,您应该使用onPause()将关键的持久性数据(例如用户编辑)写入存储。


无论您使用finish()还是系统自行杀死Activity都没有关系。如果系统“想”恢复内存,则不能保证将调用onDestroy()onStop()

10-08 06:19