我一直认为finish()会立即在onDestory()上触发,但是在4.3中似乎不是事实。
我只想知道它将在哪种情况下发生?
抱歉,我不能将所有代码都放在这里。
它使我困惑了几个小时,我找不到任何有用的信息。
最佳答案
From the docs:
onPause()
是保证在进程被杀死之前可以调用的最后一个方法-如果系统必须在紧急情况下恢复内存,则可能不会调用onStop()
和onDestroy()
。因此,您应该使用onPause()
将关键的持久性数据(例如用户编辑)写入存储。
无论您使用finish()
还是系统自行杀死Activity都没有关系。如果系统“想”恢复内存,则不能保证将调用onDestroy()
或onStop()
。