简单的问题:你能确定finish()会打电话onDestroy()吗?我还没有找到任何确认。
32696 次
2 回答
50
简单的问题:你能确定finish() 会调用onDestroy() 吗?
首先,这个答案假设您指的是 Android 的Activity类及其finish()方法和onDestroy()生命周期方法。
其次,这取决于您对“确定”的定义:
您的进程可能会在
finish()和之间终止onDestroy(),原因与触发调用的原因无关finish()设备制造商或 ROM 修改者可能会引入一些会破坏
finish()和onDestroy()电池可能会在两者之间
finish()耗尽onDestroy()等等。
三、finish()不叫 onDestroy()。您可以通过阅读源代码来判断这一点。finish()通常会触发对onDestroy().
一般来说,finish()最终会导致onDestroy()被调用。
于 2013-11-10T16:21:50.477 回答
6
不,你不能确定!
调用 finish() 通常会根据 Activity 生命周期触发 onDestroy() 但您不能依赖它。特别不是为了保存您的数据。文件清楚地说
do not count on this method being called as a place for saving data!
于 2013-11-10T16:40:19.043 回答