我想知道我是否在一个活动上调用了finish(),保证在它上面调用onDestroy()然后在活动开始时它将不会恢复,而是会调用onCreate()? / p>
我想知道这是因为我面临一个奇怪的错误,并且在这里进入其细节是无关紧要的,所以如果有人能够确认上述假设是否正确,我将不胜感激
答案 0 :(得分:3)
由于Activity类的Android文档定义,finish()
确实会导致您的Activity
被销毁,因此onDestroy()
会被调用:
<强>的onDestroy()强>
在您的活动被销毁之前收到的最后一个电话。这可能是因为活动正在完成(有人在其上调用finish(),或者因为系统暂时销毁此活动实例以节省空间。您可以使用isFinishing()方法区分这两种情况。
现在,如果你看一下Activity
生命周期图:
你会看到,Activity
关闭后,它会从头开始重新创建,这意味着会调用onCreate()
。