简单的问题:你能确定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 回答